diff options
Diffstat (limited to 'Zend/zend_language_scanner.c')
-rw-r--r-- | Zend/zend_language_scanner.c | 5328 |
1 files changed, 2852 insertions, 2476 deletions
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index b07635ae53..40fb574559 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Sat Jul 28 16:59:07 2012 */ +/* Generated by re2c 0.13.5 on Wed Nov 14 17:46:56 2012 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -35,6 +35,9 @@ #include <errno.h> #include "zend.h" +#ifdef PHP_WIN32 +# include <Winuser.h> +#endif #include "zend_alloc.h" #include <zend_language_parser.h> #include "zend_compile.h" @@ -122,6 +125,33 @@ do { \ BEGIN_EXTERN_C() +static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) +{ + const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); + assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); + return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC); +} + +static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) +{ + return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC); +} + +static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) +{ + return zend_multibyte_encoding_converter(to, to_length, from, from_length, +LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC); +} + +static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) +{ + const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); + assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); + return zend_multibyte_encoding_converter(to, to_length, from, from_length, +internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC); +} + + static void _yy_push_state(int new_state TSRMLS_DC) { zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); @@ -149,6 +179,7 @@ static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) void startup_scanner(TSRMLS_D) { + CG(parse_error) = 0; CG(heredoc) = NULL; CG(heredoc_len) = 0; CG(doc_comment) = NULL; @@ -162,6 +193,7 @@ void shutdown_scanner(TSRMLS_D) efree(CG(heredoc)); CG(heredoc_len)=0; } + CG(parse_error) = 0; zend_stack_destroy(&SCNG(state_stack)); RESET_DOC_COMMENT(); } @@ -183,7 +215,6 @@ ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) lex_state->filename = zend_get_compiled_filename(TSRMLS_C); lex_state->lineno = CG(zend_lineno); -#ifdef ZEND_MULTIBYTE lex_state->script_org = SCNG(script_org); lex_state->script_org_size = SCNG(script_org_size); lex_state->script_filtered = SCNG(script_filtered); @@ -191,8 +222,6 @@ ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) lex_state->input_filter = SCNG(input_filter); lex_state->output_filter = SCNG(output_filter); lex_state->script_encoding = SCNG(script_encoding); - lex_state->internal_encoding = SCNG(internal_encoding); -#endif /* ZEND_MULTIBYTE */ } ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) @@ -211,11 +240,7 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) YYSETCONDITION(lex_state->yy_state); CG(zend_lineno) = lex_state->lineno; zend_restore_compiled_filename(lex_state->filename TSRMLS_CC); -#ifdef ZEND_MULTIBYTE - if (SCNG(script_org)) { - efree(SCNG(script_org)); - SCNG(script_org) = NULL; - } + if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; @@ -227,8 +252,6 @@ ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) SCNG(input_filter) = lex_state->input_filter; SCNG(output_filter) = lex_state->output_filter; SCNG(script_encoding) = lex_state->script_encoding; - SCNG(internal_encoding) = lex_state->internal_encoding; -#endif /* ZEND_MULTIBYTE */ if (CG(heredoc)) { efree(CG(heredoc)); @@ -247,12 +270,214 @@ ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC) } } +#define BOM_UTF32_BE "\x00\x00\xfe\xff" +#define BOM_UTF32_LE "\xff\xfe\x00\x00" +#define BOM_UTF16_BE "\xfe\xff" +#define BOM_UTF16_LE "\xff\xfe" +#define BOM_UTF8 "\xef\xbb\xbf" + +static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC) +{ + const unsigned char *p; + int wchar_size = 2; + int le = 0; + + /* utf-16 or utf-32? */ + p = script; + while ((p-script) < script_size) { + p = memchr(p, 0, script_size-(p-script)-2); + if (!p) { + break; + } + if (*(p+1) == '\0' && *(p+2) == '\0') { + wchar_size = 4; + break; + } + + /* searching for UTF-32 specific byte orders, so this will do */ + p += 4; + } + + /* BE or LE? */ + p = script; + while ((p-script) < script_size) { + if (*p == '\0' && *(p+wchar_size-1) != '\0') { + /* BE */ + le = 0; + break; + } else if (*p != '\0' && *(p+wchar_size-1) == '\0') { + /* LE* */ + le = 1; + break; + } + p += wchar_size; + } + + if (wchar_size == 2) { + return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be; + } else { + return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be; + } + + return NULL; +} + +static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D) +{ + const zend_encoding *script_encoding = NULL; + int bom_size; + unsigned char *pos1, *pos2; + + if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) { + return NULL; + } + + /* check out BOM */ + if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) { + script_encoding = zend_multibyte_encoding_utf32be; + bom_size = sizeof(BOM_UTF32_BE)-1; + } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) { + script_encoding = zend_multibyte_encoding_utf32le; + bom_size = sizeof(BOM_UTF32_LE)-1; + } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) { + script_encoding = zend_multibyte_encoding_utf16be; + bom_size = sizeof(BOM_UTF16_BE)-1; + } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) { + script_encoding = zend_multibyte_encoding_utf16le; + bom_size = sizeof(BOM_UTF16_LE)-1; + } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) { + script_encoding = zend_multibyte_encoding_utf8; + bom_size = sizeof(BOM_UTF8)-1; + } + + if (script_encoding) { + /* remove BOM */ + LANG_SCNG(script_org) += bom_size; + LANG_SCNG(script_org_size) -= bom_size; + + return script_encoding; + } + + /* script contains NULL bytes -> auto-detection */ + if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) { + /* check if the NULL byte is after the __HALT_COMPILER(); */ + pos2 = LANG_SCNG(script_org); + + while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) { + pos2 = memchr(pos2, '_', pos1 - pos2); + if (!pos2) break; + pos2++; + if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) { + pos2 += sizeof("_HALT_COMPILER")-1; + while (*pos2 == ' ' || + *pos2 == '\t' || + *pos2 == '\r' || + *pos2 == '\n') { + pos2++; + } + if (*pos2 == '(') { + pos2++; + while (*pos2 == ' ' || + *pos2 == '\t' || + *pos2 == '\r' || + *pos2 == '\n') { + pos2++; + } + if (*pos2 == ')') { + pos2++; + while (*pos2 == ' ' || + *pos2 == '\t' || + *pos2 == '\r' || + *pos2 == '\n') { + pos2++; + } + if (*pos2 == ';') { + return NULL; + } + } + } + } + } + /* make best effort if BOM is missing */ + return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC); + } + + return NULL; +} + +static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D) +{ + const zend_encoding *script_encoding; + + if (CG(detect_unicode)) { + /* check out bom(byte order mark) and see if containing wchars */ + script_encoding = zend_multibyte_detect_unicode(TSRMLS_C); + if (script_encoding != NULL) { + /* bom or wchar detection is prior to 'script_encoding' option */ + return script_encoding; + } + } + + /* if no script_encoding specified, just leave alone */ + if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) { + return NULL; + } + + /* if multiple encodings specified, detect automagically */ + if (CG(script_encoding_list_size) > 1) { + return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size) TSRMLS_CC); + } + + return CG(script_encoding_list)[0]; +} + +ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC) +{ + const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); + const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C); + + if (!script_encoding) { + return FAILURE; + } + + /* judge input/output filter */ + LANG_SCNG(script_encoding) = script_encoding; + LANG_SCNG(input_filter) = NULL; + LANG_SCNG(output_filter) = NULL; + + if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) { + if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { + /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */ + LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; + LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script; + } else { + LANG_SCNG(input_filter) = NULL; + LANG_SCNG(output_filter) = NULL; + } + return SUCCESS; + } + + if (zend_multibyte_check_lexer_compatibility(internal_encoding)) { + LANG_SCNG(input_filter) = encoding_filter_script_to_internal; + LANG_SCNG(output_filter) = NULL; + } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { + LANG_SCNG(input_filter) = NULL; + LANG_SCNG(output_filter) = encoding_filter_script_to_internal; + } else { + /* both script and internal encodings are incompatible w/ flex */ + LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; + LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal; + } + + return 0; +} ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) { - char *file_path = NULL, *buf; + const char *file_path = NULL; + char *buf; size_t size, offset = 0; - + /* The shebang line was read, get the current position to obtain the buffer start */ if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) { if ((offset = ftell(file_handle->handle.fp)) == -1) { @@ -277,32 +502,24 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) SCNG(yy_start) = NULL; if (size != -1) { -#ifdef ZEND_MULTIBYTE - if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) { - return FAILURE; - } - - SCNG(yy_in) = NULL; + if (CG(multibyte)) { + SCNG(script_org) = (unsigned char*)buf; + SCNG(script_org_size) = size; + SCNG(script_filtered) = NULL; - zend_multibyte_set_filter(NULL TSRMLS_CC); + zend_multibyte_set_filter(NULL TSRMLS_CC); - if (!SCNG(input_filter)) { - SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+2); - memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1); - SCNG(script_filtered_size) = SCNG(script_org_size); - } else { - SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); - if (SCNG(script_filtered) == NULL) { - zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " - "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name); + if (SCNG(input_filter)) { + if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { + zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " + "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); + } + buf = (char*)SCNG(script_filtered); + size = SCNG(script_filtered_size); } } - SCNG(yy_start) = SCNG(script_filtered) - offset; - yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); -#else /* !ZEND_MULTIBYTE */ - SCNG(yy_start) = buf - offset; + SCNG(yy_start) = (unsigned char *)buf - offset; yy_scan_buffer(buf, size TSRMLS_CC); -#endif /* ZEND_MULTIBYTE */ } else { zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed"); } @@ -363,6 +580,8 @@ ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSR init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); CG(in_compilation) = 1; CG(active_op_array) = op_array; + zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); + zend_init_compiler_context(TSRMLS_C); compiler_result = zendparse(TSRMLS_C); zend_do_return(&retval_znode, 0 TSRMLS_CC); CG(in_compilation) = original_in_compilation; @@ -430,32 +649,44 @@ zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC) ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC) { + char *buf; + size_t size; + /* enforce two trailing NULLs for flex... */ - str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD); + if (IS_INTERNED(str->value.str.val)) { + char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD); + memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD); + str->value.str.val = tmp; + } else { + str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD); + } memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD); - SCNG(yy_in)=NULL; + SCNG(yy_in) = NULL; SCNG(yy_start) = NULL; -#ifdef ZEND_MULTIBYTE - SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val); - SCNG(script_org_size) = str->value.str.len; + buf = str->value.str.val; + size = str->value.str.len; - zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC); + if (CG(multibyte)) { + SCNG(script_org) = (unsigned char*)buf; + SCNG(script_org_size) = size; + SCNG(script_filtered) = NULL; - if (!SCNG(input_filter)) { - SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+2); - memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1); - SCNG(script_filtered_size) = SCNG(script_org_size); - } else { - SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); + zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC); + + if (SCNG(input_filter)) { + if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { + zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " + "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); + } + buf = (char*)SCNG(script_filtered); + size = SCNG(script_filtered_size); + } } - yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); -#else /* !ZEND_MULTIBYTE */ - yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC); -#endif /* ZEND_MULTIBYTE */ + yy_scan_buffer(buf, size TSRMLS_CC); zend_set_compiled_filename(filename TSRMLS_CC); CG(zend_lineno) = 1; @@ -467,13 +698,12 @@ ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_D ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D) { size_t offset = SCNG(yy_cursor) - SCNG(yy_start); -#ifdef ZEND_MULTIBYTE if (SCNG(input_filter)) { - size_t original_offset = offset, length = 0; do { + size_t original_offset = offset, length = 0; + do { unsigned char *p = NULL; - SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC); - if (!p) { - break; + if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) { + return (size_t)-1; } efree(p); if (length > original_offset) { @@ -483,7 +713,6 @@ ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D) } } while (original_offset != length); } -#endif return offset; } @@ -521,19 +750,15 @@ zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); CG(interactive) = orig_interactive; CG(active_op_array) = op_array; + zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); + zend_init_compiler_context(TSRMLS_C); BEGIN(ST_IN_SCRIPTING); compiler_result = zendparse(TSRMLS_C); -#ifdef ZEND_MULTIBYTE - if (SCNG(script_org)) { - efree(SCNG(script_org)); - SCNG(script_org) = NULL; - } if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } -#endif /* ZEND_MULTIBYTE */ if (compiler_result==1) { CG(active_op_array) = original_active_op_array; @@ -573,16 +798,10 @@ int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlight return FAILURE; } zend_highlight(syntax_highlighter_ini TSRMLS_CC); -#ifdef ZEND_MULTIBYTE - if (SCNG(script_org)) { - efree(SCNG(script_org)); - SCNG(script_org) = NULL; - } if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } -#endif /* ZEND_MULTIBYTE */ zend_destroy_file_handle(&file_handle TSRMLS_CC); zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return SUCCESS; @@ -602,122 +821,44 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ } BEGIN(INITIAL); zend_highlight(syntax_highlighter_ini TSRMLS_CC); -#ifdef ZEND_MULTIBYTE - if (SCNG(script_org)) { - efree(SCNG(script_org)); - SCNG(script_org) = NULL; - } if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } -#endif /* ZEND_MULTIBYTE */ zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(str); return SUCCESS; } -END_EXTERN_C() - -#ifdef ZEND_MULTIBYTE -BEGIN_EXTERN_C() -ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC) +ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC) { - size_t original_offset, offset, free_flag, new_len, length; - unsigned char *p; - - /* calculate current position */ - offset = original_offset = YYCURSOR - SCNG(yy_start); - if (old_input_filter && offset > 0) { - zend_encoding *new_encoding = SCNG(script_encoding); - zend_encoding_filter new_filter = SCNG(input_filter); - SCNG(script_encoding) = old_encoding; - SCNG(input_filter) = old_input_filter; - offset = zend_get_scanned_file_offset(TSRMLS_C); - SCNG(script_encoding) = new_encoding; - SCNG(input_filter) = new_filter; - } + size_t length; + unsigned char *new_yy_start; /* convert and set */ if (!SCNG(input_filter)) { - length = SCNG(script_org_size) - offset; - p = SCNG(script_org) + offset; - free_flag = 0; + if (SCNG(script_filtered)) { + efree(SCNG(script_filtered)); + SCNG(script_filtered) = NULL; + } + SCNG(script_filtered_size) = 0; + length = SCNG(script_org_size); + new_yy_start = SCNG(script_org); } else { - SCNG(input_filter)(&p, &length, SCNG(script_org) + offset, SCNG(script_org_size) - offset TSRMLS_CC); - free_flag = 1; - } - - new_len = original_offset + length; - - if (new_len > YYLIMIT - SCNG(yy_start)) { - unsigned char *new_yy_start = erealloc(SCNG(yy_start), new_len); - SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start)); - SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start)); - SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start)); - SCNG(yy_start) = new_yy_start; - SCNG(script_filtered) = new_yy_start; - SCNG(script_filtered_size) = new_len; - } - - SCNG(yy_limit) = SCNG(yy_start) + new_len; - memmove(SCNG(yy_start) + original_offset, p, length); - - if (free_flag) { - efree(p); - } -} - - -ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC) -{ - size_t n; - - if (CG(interactive) == 0) { - if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) { - return FAILURE; + if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { + zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " + "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); } - n = len; - return n; - } - - /* interactive */ - if (SCNG(script_org)) { - efree(SCNG(script_org)); - } - if (SCNG(script_filtered)) { - efree(SCNG(script_filtered)); - } - SCNG(script_org) = NULL; - SCNG(script_org_size) = 0; - - /* TODO: support widechars */ - if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) { - return FAILURE; + SCNG(script_filtered) = new_yy_start; + SCNG(script_filtered_size) = length; } - n = len; - - SCNG(script_org_size) = n; - SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1); - memcpy(SCNG(script_org), buf, n); - - return n; -} - -ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC) -{ - if (SCNG(script_org)) { - efree(SCNG(script_org)); - SCNG(script_org) = NULL; - } - SCNG(script_org_size) = n; - - SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1); - memcpy(SCNG(script_org), buf, n); - *(SCNG(script_org)+SCNG(script_org_size)) = '\0'; + SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start)); + SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start)); + SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start)); + SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start)); - return 0; + SCNG(yy_start) = new_yy_start; } @@ -730,11 +871,6 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC) zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \ zendlval->value.str.len = yyleng; \ } -#else /* ZEND_MULTIBYTE */ -# define zend_copy_value(zendlval, yytext, yyleng) \ - zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \ - zendlval->value.str.len = yyleng; -#endif /* ZEND_MULTIBYTE */ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC) { @@ -775,6 +911,14 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo *t++ = '\v'; zendlval->value.str.len--; break; + case 'e': +#ifdef PHP_WIN32 + *t++ = VK_ESCAPE; +#else + *t++ = '\e'; +#endif + zendlval->value.str.len--; + break; case '"': case '`': if (*s != quote_type) { @@ -838,7 +982,6 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo s++; } *t = 0; -#ifdef ZEND_MULTIBYTE if (SCNG(output_filter)) { size_t sz = 0; s = zendlval->value.str.val; @@ -846,7 +989,6 @@ static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quo zendlval->value.str.len = sz; efree(s); } -#endif /* ZEND_MULTIBYTE */ } @@ -858,7 +1000,7 @@ restart: yymore_restart: -#line 862 "Zend/zend_language_scanner.c" +#line 1004 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -957,7 +1099,7 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1590 "Zend/zend_language_scanner.l" +#line 1792 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -973,7 +1115,7 @@ inline_char_handler: if (YYCURSOR < YYLIMIT) { switch (*YYCURSOR) { case '?': - if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */ + if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */ break; } continue; @@ -1001,7 +1143,6 @@ inline_char_handler: inline_html: yyleng = YYCURSOR - SCNG(yy_text); -#ifdef ZEND_MULTIBYTE if (SCNG(output_filter)) { int readsize; size_t sz = 0; @@ -1014,15 +1155,11 @@ inline_html: zendlval->value.str.val = (char *) estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; } -#else /* !ZEND_MULTIBYTE */ - zendlval->value.str.val = (char *) estrndup(yytext, yyleng); - zendlval->value.str.len = yyleng; -#endif zendlval->type = IS_STRING; HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1026 "Zend/zend_language_scanner.c" +#line 1163 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1040,7 +1177,7 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1578 "Zend/zend_language_scanner.l" +#line 1780 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1052,14 +1189,14 @@ yy6: goto inline_char_handler; } } -#line 1056 "Zend/zend_language_scanner.c" +#line 1193 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1555 "Zend/zend_language_scanner.l" +#line 1757 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1071,7 +1208,7 @@ yy7: goto inline_char_handler; } } -#line 1075 "Zend/zend_language_scanner.c" +#line 1212 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1257,9 +1394,9 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1511 "Zend/zend_language_scanner.l" +#line 1717 "Zend/zend_language_scanner.l" { - YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); + YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); if (bracket != SCNG(yy_text)) { /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */ @@ -1274,7 +1411,7 @@ yy35: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1278 "Zend/zend_language_scanner.c" +#line 1415 "Zend/zend_language_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; @@ -1301,7 +1438,7 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1529 "Zend/zend_language_scanner.l" +#line 1735 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1313,25 +1450,21 @@ yy43: goto inline_char_handler; } } -#line 1317 "Zend/zend_language_scanner.c" +#line 1454 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1542 "Zend/zend_language_scanner.l" +#line 1748 "Zend/zend_language_scanner.l" { - if (CG(short_tags)) { - zendlval->value.str.val = yytext; /* no copying - intentional */ - zendlval->value.str.len = yyleng; - zendlval->type = IS_STRING; - BEGIN(ST_IN_SCRIPTING); - return T_OPEN_TAG_WITH_ECHO; - } else { - goto inline_char_handler; - } + zendlval->value.str.val = yytext; /* no copying - intentional */ + zendlval->value.str.len = yyleng; + zendlval->type = IS_STRING; + BEGIN(ST_IN_SCRIPTING); + return T_OPEN_TAG_WITH_ECHO; } -#line 1335 "Zend/zend_language_scanner.c" +#line 1468 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; @@ -1358,7 +1491,7 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1770 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1367,7 +1500,7 @@ yy51: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1371 "Zend/zend_language_scanner.c" +#line 1504 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1438,7 +1571,7 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2048 "Zend/zend_language_scanner.l" +#line 2243 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1479,7 +1612,7 @@ yy56: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1483 "Zend/zend_language_scanner.c" +#line 1616 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1490,12 +1623,12 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1992 "Zend/zend_language_scanner.l" +#line 2187 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1499 "Zend/zend_language_scanner.c" +#line 1632 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -1505,14 +1638,14 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1979 "Zend/zend_language_scanner.l" +#line 2174 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1516 "Zend/zend_language_scanner.c" +#line 1649 "Zend/zend_language_scanner.c" yy63: YYDEBUG(63, *YYCURSOR); yyaccept = 0; @@ -1528,24 +1661,24 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1538 "Zend/zend_language_scanner.c" +#line 1671 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1451 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1549 "Zend/zend_language_scanner.c" +#line 1682 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1559,7 +1692,7 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1669 "Zend/zend_language_scanner.l" +#line 1866 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1567,7 +1700,7 @@ yy70: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1571 "Zend/zend_language_scanner.c" +#line 1704 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; @@ -1585,7 +1718,7 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1856 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1593,7 +1726,7 @@ yy73: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1597 "Zend/zend_language_scanner.c" +#line 1730 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1661,7 +1794,7 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1998 "Zend/zend_language_scanner.l" +#line 2193 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1710,7 +1843,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1714 "Zend/zend_language_scanner.c" +#line 1847 "Zend/zend_language_scanner.c" yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; @@ -1721,12 +1854,12 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1987 "Zend/zend_language_scanner.l" +#line 2182 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1730 "Zend/zend_language_scanner.c" +#line 1863 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1736,14 +1869,14 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1979 "Zend/zend_language_scanner.l" +#line 2174 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1747 "Zend/zend_language_scanner.c" +#line 1880 "Zend/zend_language_scanner.c" yy85: YYDEBUG(85, *YYCURSOR); yyaccept = 0; @@ -1759,24 +1892,24 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1769 "Zend/zend_language_scanner.c" +#line 1902 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1451 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1780 "Zend/zend_language_scanner.c" +#line 1913 "Zend/zend_language_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; @@ -1790,7 +1923,7 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1669 "Zend/zend_language_scanner.l" +#line 1866 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1798,7 +1931,7 @@ yy92: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1802 "Zend/zend_language_scanner.c" +#line 1935 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; @@ -1816,7 +1949,7 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1856 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1824,7 +1957,7 @@ yy95: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1828 "Zend/zend_language_scanner.c" +#line 1961 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1835,7 +1968,7 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1966 "Zend/zend_language_scanner.l" +#line 2161 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -1847,7 +1980,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1851 "Zend/zend_language_scanner.c" +#line 1984 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1909,7 +2042,7 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2090 "Zend/zend_language_scanner.l" +#line 2285 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1980,7 +2113,7 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1984 "Zend/zend_language_scanner.c" +#line 2117 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -1995,14 +2128,14 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1979 "Zend/zend_language_scanner.l" +#line 2174 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 2006 "Zend/zend_language_scanner.c" +#line 2139 "Zend/zend_language_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yyaccept = 0; @@ -2018,24 +2151,24 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2028 "Zend/zend_language_scanner.c" +#line 2161 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1451 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2039 "Zend/zend_language_scanner.c" +#line 2172 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; @@ -2049,7 +2182,7 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1669 "Zend/zend_language_scanner.l" +#line 1866 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2057,7 +2190,7 @@ yy116: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2061 "Zend/zend_language_scanner.c" +#line 2194 "Zend/zend_language_scanner.c" yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; @@ -2075,7 +2208,7 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1659 "Zend/zend_language_scanner.l" +#line 1856 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2083,7 +2216,7 @@ yy119: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2087 "Zend/zend_language_scanner.c" +#line 2220 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2095,32 +2228,32 @@ yyc_ST_IN_SCRIPTING: 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 0, 0, 0, 0, 0, 0, - 0, 40, 40, 40, 40, 40, 40, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 0, 0, 0, 0, 8, - 0, 40, 40, 40, 40, 40, 40, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 0, 0, 0, 0, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, + 60, 60, 44, 44, 44, 44, 44, 44, + 44, 44, 0, 0, 0, 0, 0, 0, + 0, 36, 36, 36, 36, 36, 36, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 0, 0, 0, 0, 4, + 0, 36, 36, 36, 36, 36, 36, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 0, 0, 0, 0, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, }; YYDEBUG(121, *YYCURSOR); YYFILL(16); @@ -2248,48 +2381,48 @@ yy123: YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': - case 'c': goto yy701; + case 'c': goto yy726; case 'L': - case 'l': goto yy702; + case 'l': goto yy727; case 'M': - case 'm': goto yy703; + case 'm': goto yy728; case 'N': - case 'n': goto yy704; + case 'n': goto yy729; case 'V': - case 'v': goto yy705; + case 'v': goto yy730; case 'X': - case 'x': goto yy706; + case 'x': goto yy731; default: goto yy186; } yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1700 "Zend/zend_language_scanner.l" +#line 1897 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 2274 "Zend/zend_language_scanner.c" +#line 2407 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { - if (yych == 'E') goto yy683; + if (yych == 'E') goto yy708; goto yy186; } else { - if (yych <= 'I') goto yy684; + if (yych <= 'I') goto yy709; if (yych <= 'N') goto yy186; - goto yy685; + goto yy710; } } else { if (yych <= 'h') { - if (yych == 'e') goto yy683; + if (yych == 'e') goto yy708; goto yy186; } else { - if (yych <= 'i') goto yy684; - if (yych == 'o') goto yy685; + if (yych <= 'i') goto yy709; + if (yych == 'o') goto yy710; goto yy186; } } @@ -2298,20 +2431,20 @@ yy126: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'N') { - if (yych == 'I') goto yy662; + if (yych == 'I') goto yy687; goto yy186; } else { - if (yych <= 'O') goto yy663; + if (yych <= 'O') goto yy688; if (yych <= 'T') goto yy186; - goto yy664; + goto yy689; } } else { if (yych <= 'n') { - if (yych == 'i') goto yy662; + if (yych == 'i') goto yy687; goto yy186; } else { - if (yych <= 'o') goto yy663; - if (yych == 'u') goto yy664; + if (yych <= 'o') goto yy688; + if (yych == 'u') goto yy689; goto yy186; } } @@ -2320,42 +2453,42 @@ yy127: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'K') { - if (yych == 'A') goto yy634; + if (yych == 'A') goto yy652; goto yy186; } else { - if (yych <= 'L') goto yy635; + if (yych <= 'L') goto yy653; if (yych <= 'N') goto yy186; - goto yy636; + goto yy654; } } else { if (yych <= 'k') { - if (yych == 'a') goto yy634; + if (yych == 'a') goto yy652; goto yy186; } else { - if (yych <= 'l') goto yy635; - if (yych == 'o') goto yy636; + if (yych <= 'l') goto yy653; + if (yych == 'o') goto yy654; goto yy186; } } yy128: YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy616; - if (yych == 'e') goto yy616; + if (yych == 'E') goto yy634; + if (yych == 'e') goto yy634; goto yy186; yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { - if (yych == 'H') goto yy608; + if (yych == 'H') goto yy622; if (yych <= 'Q') goto yy186; - goto yy609; + goto yy623; } else { if (yych <= 'h') { if (yych <= 'g') goto yy186; - goto yy608; + goto yy622; } else { - if (yych == 'r') goto yy609; + if (yych == 'r') goto yy623; goto yy186; } } @@ -2364,53 +2497,53 @@ yy130: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'L') { - if (yych == 'F') goto yy561; + if (yych == 'F') goto yy569; goto yy186; } else { - if (yych <= 'M') goto yy563; - if (yych <= 'N') goto yy564; + if (yych <= 'M') goto yy571; + if (yych <= 'N') goto yy572; if (yych <= 'R') goto yy186; - goto yy565; + goto yy573; } } else { if (yych <= 'm') { - if (yych == 'f') goto yy561; + if (yych == 'f') goto yy569; if (yych <= 'l') goto yy186; - goto yy563; + goto yy571; } else { - if (yych <= 'n') goto yy564; - if (yych == 's') goto yy565; + if (yych <= 'n') goto yy572; + if (yych == 's') goto yy573; goto yy186; } } yy131: YYDEBUG(131, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy556; - if (yych == 'h') goto yy556; + if (yych == 'H') goto yy564; + if (yych == 'h') goto yy564; goto yy186; yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= 'M') { - if (yych == 'B') goto yy538; + if (yych == 'B') goto yy546; goto yy186; } else { - if (yych <= 'N') goto yy539; + if (yych <= 'N') goto yy547; if (yych <= 'Q') goto yy186; - if (yych <= 'R') goto yy540; - goto yy541; + if (yych <= 'R') goto yy548; + goto yy549; } } else { if (yych <= 'n') { - if (yych == 'b') goto yy538; + if (yych == 'b') goto yy546; if (yych <= 'm') goto yy186; - goto yy539; + goto yy547; } else { if (yych <= 'q') goto yy186; - if (yych <= 'r') goto yy540; - if (yych <= 's') goto yy541; + if (yych <= 'r') goto yy548; + if (yych <= 's') goto yy549; goto yy186; } } @@ -2418,15 +2551,15 @@ yy133: YYDEBUG(133, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { - if (yych == 'T') goto yy526; + if (yych == 'T') goto yy534; if (yych <= 'V') goto yy186; - goto yy527; + goto yy535; } else { if (yych <= 't') { if (yych <= 's') goto yy186; - goto yy526; + goto yy534; } else { - if (yych == 'w') goto yy527; + if (yych == 'w') goto yy535; goto yy186; } } @@ -2437,18 +2570,18 @@ yy134: if (yych <= ';') { if (yych <= '"') { if (yych <= '!') goto yy186; - goto yy518; + goto yy526; } else { - if (yych == '\'') goto yy519; + if (yych == '\'') goto yy527; goto yy186; } } else { if (yych <= 'R') { - if (yych <= '<') goto yy517; + if (yych <= '<') goto yy525; if (yych <= 'Q') goto yy186; - goto yy520; + goto yy528; } else { - if (yych == 'r') goto yy520; + if (yych == 'r') goto yy528; goto yy186; } } @@ -2456,15 +2589,15 @@ yy135: YYDEBUG(135, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'L') goto yy507; + if (yych == 'L') goto yy515; if (yych <= 'N') goto yy186; - goto yy508; + goto yy516; } else { if (yych <= 'l') { if (yych <= 'k') goto yy186; - goto yy507; + goto yy515; } else { - if (yych == 'o') goto yy508; + if (yych == 'o') goto yy516; goto yy186; } } @@ -2472,15 +2605,15 @@ yy136: YYDEBUG(136, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { - if (yych == 'R') goto yy483; + if (yych == 'R') goto yy491; if (yych <= 'T') goto yy186; - goto yy484; + goto yy492; } else { if (yych <= 'r') { if (yych <= 'q') goto yy186; - goto yy483; + goto yy491; } else { - if (yych == 'u') goto yy484; + if (yych == 'u') goto yy492; goto yy186; } } @@ -2488,28 +2621,28 @@ yy137: YYDEBUG(137, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy479; + if (yych == '-') goto yy487; } else { - if (yych <= '=') goto yy477; - if (yych <= '>') goto yy481; + if (yych <= '=') goto yy485; + if (yych <= '>') goto yy489; } yy138: YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1289 "Zend/zend_language_scanner.l" +#line 1440 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2504 "Zend/zend_language_scanner.c" +#line 2637 "Zend/zend_language_scanner.c" yy139: YYDEBUG(139, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy476; + goto yy484; yy140: YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1024 "Zend/zend_language_scanner.l" +#line 1171 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -2517,43 +2650,43 @@ yy140: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2521 "Zend/zend_language_scanner.c" +#line 2654 "Zend/zend_language_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; - if (yych == ':') goto yy473; + if (yych == ':') goto yy481; goto yy138; yy142: YYDEBUG(142, *YYCURSOR); ++YYCURSOR; YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1053 "Zend/zend_language_scanner.l" +#line 1200 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2536 "Zend/zend_language_scanner.c" +#line 2669 "Zend/zend_language_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { - if (yych == 'A') goto yy461; + if (yych == 'A') goto yy469; if (yych <= 'D') goto yy186; - goto yy462; + goto yy470; } else { if (yych <= 'a') { if (yych <= '`') goto yy186; - goto yy461; + goto yy469; } else { - if (yych == 'e') goto yy462; + if (yych == 'e') goto yy470; goto yy186; } } yy145: YYDEBUG(145, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy458; - if (yych == 'a') goto yy458; + if (yych == 'A') goto yy466; + if (yych == 'a') goto yy466; goto yy186; yy146: YYDEBUG(146, *YYCURSOR); @@ -2562,47 +2695,47 @@ yy146: if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy379; + if (yych == '\t') goto yy391; if (yych <= 0x1F) goto yy138; - goto yy379; + goto yy391; } else { if (yych <= '@') goto yy138; if (yych == 'C') goto yy138; - goto yy379; + goto yy391; } } else { if (yych <= 'I') { - if (yych == 'F') goto yy379; + if (yych == 'F') goto yy391; if (yych <= 'H') goto yy138; - goto yy379; + goto yy391; } else { - if (yych == 'O') goto yy379; + if (yych == 'O') goto yy391; if (yych <= 'Q') goto yy138; - goto yy379; + goto yy391; } } } else { if (yych <= 'f') { if (yych <= 'b') { - if (yych == 'U') goto yy379; + if (yych == 'U') goto yy391; if (yych <= '`') goto yy138; - goto yy379; + goto yy391; } else { - if (yych == 'd') goto yy379; + if (yych == 'd') goto yy391; if (yych <= 'e') goto yy138; - goto yy379; + goto yy391; } } else { if (yych <= 'o') { - if (yych == 'i') goto yy379; + if (yych == 'i') goto yy391; if (yych <= 'n') goto yy138; - goto yy379; + goto yy391; } else { if (yych <= 's') { if (yych <= 'q') goto yy138; - goto yy379; + goto yy391; } else { - if (yych == 'u') goto yy379; + if (yych == 'u') goto yy391; goto yy138; } } @@ -2612,139 +2745,139 @@ yy147: YYDEBUG(147, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { - if (yych == 'N') goto yy370; + if (yych == 'N') goto yy382; if (yych <= 'R') goto yy186; - goto yy371; + goto yy383; } else { if (yych <= 'n') { if (yych <= 'm') goto yy186; - goto yy370; + goto yy382; } else { - if (yych == 's') goto yy371; + if (yych == 's') goto yy383; goto yy186; } } yy148: YYDEBUG(148, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy296; + if (yych == '_') goto yy300; goto yy186; yy149: YYDEBUG(149, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '<') goto yy138; - if (yych <= '=') goto yy290; - if (yych <= '>') goto yy292; + if (yych <= '=') goto yy294; + if (yych <= '>') goto yy296; goto yy138; yy150: YYDEBUG(150, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy286; - if (yych == 'i') goto yy286; + if (yych == 'I') goto yy290; + if (yych == 'i') goto yy290; goto yy186; yy151: YYDEBUG(151, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy284; - if (yych == '=') goto yy282; + if (yych == '+') goto yy288; + if (yych == '=') goto yy286; goto yy138; yy152: YYDEBUG(152, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy279; + if (yych == '=') goto yy283; goto yy138; yy153: YYDEBUG(153, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ';') { - if (yych == '/') goto yy251; + if (yych == '/') goto yy255; goto yy138; } else { - if (yych <= '<') goto yy249; - if (yych <= '=') goto yy252; - if (yych <= '>') goto yy254; + if (yych <= '<') goto yy253; + if (yych <= '=') goto yy256; + if (yych <= '>') goto yy258; goto yy138; } yy154: YYDEBUG(154, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '<') goto yy138; - if (yych <= '=') goto yy245; - if (yych <= '>') goto yy243; + if (yych <= '=') goto yy249; + if (yych <= '>') goto yy247; goto yy138; yy155: YYDEBUG(155, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy241; + if (yych == '=') goto yy245; goto yy138; yy156: YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { - if (yych == '*') goto yy233; + if (yych == '*') goto yy237; goto yy138; } else { - if (yych <= '/') goto yy235; - if (yych == '=') goto yy236; + if (yych <= '/') goto yy239; + if (yych == '=') goto yy240; goto yy138; } yy157: YYDEBUG(157, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy138; - if (yych <= '9') goto yy229; - if (yych == '=') goto yy231; + if (yych <= '9') goto yy233; + if (yych == '=') goto yy235; goto yy138; yy158: YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '<') goto yy138; - if (yych <= '=') goto yy225; - if (yych <= '>') goto yy223; + if (yych <= '=') goto yy229; + if (yych <= '>') goto yy227; goto yy138; yy159: YYDEBUG(159, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy219; - if (yych == '=') goto yy221; + if (yych == '&') goto yy223; + if (yych == '=') goto yy225; goto yy138; yy160: YYDEBUG(160, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy217; - if (yych == '|') goto yy215; + if (yych == '=') goto yy221; + if (yych == '|') goto yy219; goto yy138; yy161: YYDEBUG(161, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy213; + if (yych == '=') goto yy217; goto yy138; yy162: YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy211; - if (yych == 'r') goto yy211; + if (yych == 'R') goto yy215; + if (yych == 'r') goto yy215; goto yy186; yy163: YYDEBUG(163, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy208; - if (yych == 'o') goto yy208; + if (yych == 'O') goto yy212; + if (yych == 'o') goto yy212; goto yy186; yy164: YYDEBUG(164, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { if (yych <= '@') goto yy138; - if (yych <= 'Z') goto yy205; + if (yych <= 'Z') goto yy209; if (yych <= '^') goto yy138; - goto yy205; + goto yy209; } else { if (yych <= '`') goto yy138; - if (yych <= 'z') goto yy205; + if (yych <= 'z') goto yy209; if (yych <= '~') goto yy138; - goto yy205; + goto yy209; } yy165: YYDEBUG(165, *YYCURSOR); @@ -2753,25 +2886,25 @@ yy165: yy166: YYDEBUG(166, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '>') goto yy201; + if (yych == '>') goto yy205; goto yy138; yy167: YYDEBUG(167, *YYCURSOR); ++YYCURSOR; YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1294 "Zend/zend_language_scanner.l" +#line 1445 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2769 "Zend/zend_language_scanner.c" +#line 2902 "Zend/zend_language_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYDEBUG(170, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1306 "Zend/zend_language_scanner.l" +#line 1457 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2779,30 +2912,35 @@ yy169: } return '}'; } -#line 2783 "Zend/zend_language_scanner.c" +#line 2916 "Zend/zend_language_scanner.c" yy171: YYDEBUG(171, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { - if (yych <= '/') { + if (yych <= '9') { if (yych == '.') goto yy187; + if (yych >= '0') goto yy190; } else { - if (yych <= '9') goto yy190; + if (yych == 'B') goto yy198; if (yych >= 'E') goto yy192; } } else { - if (yych <= 'd') { + if (yych <= 'b') { if (yych == 'X') goto yy197; + if (yych >= 'b') goto yy198; } else { - if (yych <= 'e') goto yy192; - if (yych == 'x') goto yy197; + if (yych <= 'e') { + if (yych >= 'e') goto yy192; + } else { + if (yych == 'x') goto yy197; + } } } yy172: YYDEBUG(172, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1332 "Zend/zend_language_scanner.l" +#line 1507 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@ -2823,7 +2961,7 @@ yy172: zendlval->type = IS_LONG; return T_LNUMBER; } -#line 2827 "Zend/zend_language_scanner.c" +#line 2965 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yyaccept = 2; @@ -2851,7 +2989,7 @@ yy175: yy176: YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1707 "Zend/zend_language_scanner.l" +#line 1904 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2885,14 +3023,14 @@ yy176: return T_COMMENT; } -#line 2889 "Zend/zend_language_scanner.c" +#line 3027 "Zend/zend_language_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); ++YYCURSOR; yy178: YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1798 "Zend/zend_language_scanner.l" +#line 1995 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2951,7 +3089,6 @@ yy178: } *t = 0; -#ifdef ZEND_MULTIBYTE if (SCNG(output_filter)) { size_t sz = 0; s = zendlval->value.str.val; @@ -2959,17 +3096,16 @@ yy178: zendlval->value.str.len = sz; efree(s); } -#endif /* ZEND_MULTIBYTE */ return T_CONSTANT_ENCAPSED_STRING; } -#line 2966 "Zend/zend_language_scanner.c" +#line 3102 "Zend/zend_language_scanner.c" yy179: YYDEBUG(179, *YYCURSOR); ++YYCURSOR; yy180: YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1869 "Zend/zend_language_scanner.l" +#line 2064 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -3010,24 +3146,24 @@ yy180: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3014 "Zend/zend_language_scanner.c" +#line 3150 "Zend/zend_language_scanner.c" yy181: YYDEBUG(181, *YYCURSOR); ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1960 "Zend/zend_language_scanner.l" +#line 2155 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3025 "Zend/zend_language_scanner.c" +#line 3161 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2218 "Zend/zend_language_scanner.l" +#line 2413 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3036,7 +3172,7 @@ yy183: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3040 "Zend/zend_language_scanner.c" +#line 3176 "Zend/zend_language_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; @@ -3044,7 +3180,7 @@ yy185: yych = *YYCURSOR; yy186: YYDEBUG(186, *YYCURSOR); - if (yybm[0+yych] & 8) { + if (yybm[0+yych] & 4) { goto yy185; } goto yy124; @@ -3055,7 +3191,7 @@ yy187: YYFILL(3); yych = *YYCURSOR; YYDEBUG(188, *YYCURSOR); - if (yybm[0+yych] & 16) { + if (yybm[0+yych] & 8) { goto yy187; } if (yych == 'E') goto yy192; @@ -3063,13 +3199,13 @@ yy187: yy189: YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1397 "Zend/zend_language_scanner.l" +#line 1572 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } -#line 3073 "Zend/zend_language_scanner.c" +#line 3209 "Zend/zend_language_scanner.c" yy190: YYDEBUG(190, *YYCURSOR); yyaccept = 2; @@ -3116,10 +3252,10 @@ yy193: if (yyaccept <= 3) { goto yy189; } else { - goto yy234; + goto yy238; } } else { - goto yy250; + goto yy254; } } yy194: @@ -3140,21 +3276,65 @@ yy197: YYDEBUG(197, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 32) { - goto yy198; + goto yy202; } goto yy193; yy198: YYDEBUG(198, *YYCURSOR); + yych = *++YYCURSOR; + if (yybm[0+yych] & 16) { + goto yy199; + } + goto yy193; +yy199: + YYDEBUG(199, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(199, *YYCURSOR); + YYDEBUG(200, *YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy199; + } + YYDEBUG(201, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1482 "Zend/zend_language_scanner.l" + { + char *bin = yytext + 2; /* Skip "0b" */ + int len = yyleng - 2; + + /* Skip any leading 0s */ + while (*bin == '0') { + ++bin; + --len; + } + + if (len < SIZEOF_LONG * 8) { + if (len == 0) { + zendlval->value.lval = 0; + } else { + zendlval->value.lval = strtol(bin, NULL, 2); + } + zendlval->type = IS_LONG; + return T_LNUMBER; + } else { + zendlval->value.dval = zend_bin_strtod(bin, NULL); + zendlval->type = IS_DOUBLE; + return T_DNUMBER; + } +} +#line 3326 "Zend/zend_language_scanner.c" +yy202: + YYDEBUG(202, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(203, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy198; + goto yy202; } - YYDEBUG(200, *YYCURSOR); + YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1353 "Zend/zend_language_scanner.l" +#line 1528 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3179,16 +3359,16 @@ yy198: return T_DNUMBER; } } -#line 3183 "Zend/zend_language_scanner.c" -yy201: - YYDEBUG(201, *YYCURSOR); +#line 3363 "Zend/zend_language_scanner.c" +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy203; - if (yych == '\r') goto yy204; -yy202: - YYDEBUG(202, *YYCURSOR); + if ((yych = *YYCURSOR) == '\n') goto yy207; + if (yych == '\r') goto yy208; +yy206: + YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1775 "Zend/zend_language_scanner.l" +#line 1972 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3196,137 +3376,137 @@ yy202: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 3200 "Zend/zend_language_scanner.c" -yy203: - YYDEBUG(203, *YYCURSOR); +#line 3380 "Zend/zend_language_scanner.c" +yy207: + YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; - goto yy202; -yy204: - YYDEBUG(204, *YYCURSOR); + goto yy206; +yy208: + YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy203; - goto yy202; -yy205: - YYDEBUG(205, *YYCURSOR); + if (yych == '\n') goto yy207; + goto yy206; +yy209: + YYDEBUG(209, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(206, *YYCURSOR); + YYDEBUG(210, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy205; + if (yych >= '0') goto yy209; } else { - if (yych <= '@') goto yy207; - if (yych <= 'Z') goto yy205; + if (yych <= '@') goto yy211; + if (yych <= 'Z') goto yy209; } } else { if (yych <= '`') { - if (yych <= '_') goto yy205; + if (yych <= '_') goto yy209; } else { - if (yych <= 'z') goto yy205; - if (yych >= 0x7F) goto yy205; + if (yych <= 'z') goto yy209; + if (yych >= 0x7F) goto yy209; } } -yy207: - YYDEBUG(207, *YYCURSOR); +yy211: + YYDEBUG(211, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3240 "Zend/zend_language_scanner.c" -yy208: - YYDEBUG(208, *YYCURSOR); +#line 3420 "Zend/zend_language_scanner.c" +yy212: + YYDEBUG(212, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy209; + if (yych == 'R') goto yy213; if (yych != 'r') goto yy186; -yy209: - YYDEBUG(209, *YYCURSOR); +yy213: + YYDEBUG(213, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(210, *YYCURSOR); + YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1277 "Zend/zend_language_scanner.l" +#line 1428 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3258 "Zend/zend_language_scanner.c" -yy211: - YYDEBUG(211, *YYCURSOR); +#line 3438 "Zend/zend_language_scanner.c" +yy215: + YYDEBUG(215, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(212, *YYCURSOR); + YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1269 "Zend/zend_language_scanner.l" +#line 1420 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3271 "Zend/zend_language_scanner.c" -yy213: - YYDEBUG(213, *YYCURSOR); +#line 3451 "Zend/zend_language_scanner.c" +yy217: + YYDEBUG(217, *YYCURSOR); ++YYCURSOR; - YYDEBUG(214, *YYCURSOR); + YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1257 "Zend/zend_language_scanner.l" +#line 1408 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3281 "Zend/zend_language_scanner.c" -yy215: - YYDEBUG(215, *YYCURSOR); +#line 3461 "Zend/zend_language_scanner.c" +yy219: + YYDEBUG(219, *YYCURSOR); ++YYCURSOR; - YYDEBUG(216, *YYCURSOR); + YYDEBUG(220, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1261 "Zend/zend_language_scanner.l" +#line 1412 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3291 "Zend/zend_language_scanner.c" -yy217: - YYDEBUG(217, *YYCURSOR); +#line 3471 "Zend/zend_language_scanner.c" +yy221: + YYDEBUG(221, *YYCURSOR); ++YYCURSOR; - YYDEBUG(218, *YYCURSOR); + YYDEBUG(222, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1253 "Zend/zend_language_scanner.l" +#line 1404 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3301 "Zend/zend_language_scanner.c" -yy219: - YYDEBUG(219, *YYCURSOR); +#line 3481 "Zend/zend_language_scanner.c" +yy223: + YYDEBUG(223, *YYCURSOR); ++YYCURSOR; - YYDEBUG(220, *YYCURSOR); + YYDEBUG(224, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1265 "Zend/zend_language_scanner.l" +#line 1416 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3311 "Zend/zend_language_scanner.c" -yy221: - YYDEBUG(221, *YYCURSOR); +#line 3491 "Zend/zend_language_scanner.c" +yy225: + YYDEBUG(225, *YYCURSOR); ++YYCURSOR; - YYDEBUG(222, *YYCURSOR); + YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1249 "Zend/zend_language_scanner.l" +#line 1400 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3321 "Zend/zend_language_scanner.c" -yy223: - YYDEBUG(223, *YYCURSOR); +#line 3501 "Zend/zend_language_scanner.c" +yy227: + YYDEBUG(227, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy227; - if (yych == '\r') goto yy228; -yy224: - YYDEBUG(224, *YYCURSOR); + if ((yych = *YYCURSOR) == '\n') goto yy231; + if (yych == '\r') goto yy232; +yy228: + YYDEBUG(228, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1784 "Zend/zend_language_scanner.l" +#line 1981 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3339,61 +3519,61 @@ yy224: return yytext[0]; } } -#line 3343 "Zend/zend_language_scanner.c" -yy225: - YYDEBUG(225, *YYCURSOR); +#line 3523 "Zend/zend_language_scanner.c" +yy229: + YYDEBUG(229, *YYCURSOR); ++YYCURSOR; - YYDEBUG(226, *YYCURSOR); + YYDEBUG(230, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1237 "Zend/zend_language_scanner.l" +#line 1388 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3353 "Zend/zend_language_scanner.c" -yy227: - YYDEBUG(227, *YYCURSOR); +#line 3533 "Zend/zend_language_scanner.c" +yy231: + YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; - goto yy224; -yy228: - YYDEBUG(228, *YYCURSOR); + goto yy228; +yy232: + YYDEBUG(232, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy227; - goto yy224; -yy229: - YYDEBUG(229, *YYCURSOR); + if (yych == '\n') goto yy231; + goto yy228; +yy233: + YYDEBUG(233, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(230, *YYCURSOR); + YYDEBUG(234, *YYCURSOR); if (yych <= 'D') { if (yych <= '/') goto yy189; - if (yych <= '9') goto yy229; + if (yych <= '9') goto yy233; goto yy189; } else { if (yych <= 'E') goto yy192; if (yych == 'e') goto yy192; goto yy189; } -yy231: - YYDEBUG(231, *YYCURSOR); +yy235: + YYDEBUG(235, *YYCURSOR); ++YYCURSOR; - YYDEBUG(232, *YYCURSOR); + YYDEBUG(236, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1233 "Zend/zend_language_scanner.l" +#line 1384 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 3388 "Zend/zend_language_scanner.c" -yy233: - YYDEBUG(233, *YYCURSOR); +#line 3568 "Zend/zend_language_scanner.c" +yy237: + YYDEBUG(237, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy238; -yy234: - YYDEBUG(234, *YYCURSOR); + if (yych == '*') goto yy242; +yy238: + YYDEBUG(238, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1741 "Zend/zend_language_scanner.l" +#line 1938 "Zend/zend_language_scanner.l" { int doc_com; @@ -3427,281 +3607,281 @@ yy234: return T_COMMENT; } -#line 3431 "Zend/zend_language_scanner.c" -yy235: - YYDEBUG(235, *YYCURSOR); +#line 3611 "Zend/zend_language_scanner.c" +yy239: + YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; goto yy176; -yy236: - YYDEBUG(236, *YYCURSOR); +yy240: + YYDEBUG(240, *YYCURSOR); ++YYCURSOR; - YYDEBUG(237, *YYCURSOR); + YYDEBUG(241, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1229 "Zend/zend_language_scanner.l" +#line 1380 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3445 "Zend/zend_language_scanner.c" -yy238: - YYDEBUG(238, *YYCURSOR); +#line 3625 "Zend/zend_language_scanner.c" +yy242: + YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy239; + goto yy243; } goto yy193; -yy239: - YYDEBUG(239, *YYCURSOR); +yy243: + YYDEBUG(243, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(240, *YYCURSOR); + YYDEBUG(244, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy239; + goto yy243; } - goto yy234; -yy241: - YYDEBUG(241, *YYCURSOR); + goto yy238; +yy245: + YYDEBUG(245, *YYCURSOR); ++YYCURSOR; - YYDEBUG(242, *YYCURSOR); + YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1225 "Zend/zend_language_scanner.l" +#line 1376 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3472 "Zend/zend_language_scanner.c" -yy243: - YYDEBUG(243, *YYCURSOR); +#line 3652 "Zend/zend_language_scanner.c" +yy247: + YYDEBUG(247, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy247; - YYDEBUG(244, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy251; + YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1285 "Zend/zend_language_scanner.l" +#line 1436 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3483 "Zend/zend_language_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); +#line 3663 "Zend/zend_language_scanner.c" +yy249: + YYDEBUG(249, *YYCURSOR); ++YYCURSOR; - YYDEBUG(246, *YYCURSOR); + YYDEBUG(250, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1213 "Zend/zend_language_scanner.l" +#line 1364 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3493 "Zend/zend_language_scanner.c" -yy247: - YYDEBUG(247, *YYCURSOR); +#line 3673 "Zend/zend_language_scanner.c" +yy251: + YYDEBUG(251, *YYCURSOR); ++YYCURSOR; - YYDEBUG(248, *YYCURSOR); + YYDEBUG(252, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1245 "Zend/zend_language_scanner.l" +#line 1396 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3503 "Zend/zend_language_scanner.c" -yy249: - YYDEBUG(249, *YYCURSOR); +#line 3683 "Zend/zend_language_scanner.c" +yy253: + YYDEBUG(253, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy250; - if (yych <= '<') goto yy265; - if (yych <= '=') goto yy263; -yy250: - YYDEBUG(250, *YYCURSOR); + if (yych <= ';') goto yy254; + if (yych <= '<') goto yy269; + if (yych <= '=') goto yy267; +yy254: + YYDEBUG(254, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1281 "Zend/zend_language_scanner.l" +#line 1432 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3518 "Zend/zend_language_scanner.c" -yy251: - YYDEBUG(251, *YYCURSOR); +#line 3698 "Zend/zend_language_scanner.c" +yy255: + YYDEBUG(255, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy256; - if (yych == 's') goto yy256; + if (yych == 'S') goto yy260; + if (yych == 's') goto yy260; goto yy193; -yy252: - YYDEBUG(252, *YYCURSOR); +yy256: + YYDEBUG(256, *YYCURSOR); ++YYCURSOR; - YYDEBUG(253, *YYCURSOR); + YYDEBUG(257, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1209 "Zend/zend_language_scanner.l" +#line 1360 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3534 "Zend/zend_language_scanner.c" -yy254: - YYDEBUG(254, *YYCURSOR); +#line 3714 "Zend/zend_language_scanner.c" +yy258: + YYDEBUG(258, *YYCURSOR); ++YYCURSOR; -yy255: - YYDEBUG(255, *YYCURSOR); +yy259: + YYDEBUG(259, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1205 "Zend/zend_language_scanner.l" +#line 1356 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3545 "Zend/zend_language_scanner.c" -yy256: - YYDEBUG(256, *YYCURSOR); +#line 3725 "Zend/zend_language_scanner.c" +yy260: + YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy257; + if (yych == 'C') goto yy261; if (yych != 'c') goto yy193; -yy257: - YYDEBUG(257, *YYCURSOR); +yy261: + YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy258; + if (yych == 'R') goto yy262; if (yych != 'r') goto yy193; -yy258: - YYDEBUG(258, *YYCURSOR); +yy262: + YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy259; + if (yych == 'I') goto yy263; if (yych != 'i') goto yy193; -yy259: - YYDEBUG(259, *YYCURSOR); +yy263: + YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy260; + if (yych == 'P') goto yy264; if (yych != 'p') goto yy193; -yy260: - YYDEBUG(260, *YYCURSOR); +yy264: + YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy261; + if (yych == 'T') goto yy265; if (yych != 't') goto yy193; -yy261: - YYDEBUG(261, *YYCURSOR); +yy265: + YYDEBUG(265, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(262, *YYCURSOR); + YYDEBUG(266, *YYCURSOR); if (yych <= '\r') { if (yych <= 0x08) goto yy193; - if (yych <= '\n') goto yy261; + if (yych <= '\n') goto yy265; if (yych <= '\f') goto yy193; - goto yy261; + goto yy265; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy193; - goto yy261; + goto yy265; } else { - if (yych == '>') goto yy201; + if (yych == '>') goto yy205; goto yy193; } } -yy263: - YYDEBUG(263, *YYCURSOR); +yy267: + YYDEBUG(267, *YYCURSOR); ++YYCURSOR; - YYDEBUG(264, *YYCURSOR); + YYDEBUG(268, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1241 "Zend/zend_language_scanner.l" +#line 1392 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3600 "Zend/zend_language_scanner.c" -yy265: - YYDEBUG(265, *YYCURSOR); +#line 3780 "Zend/zend_language_scanner.c" +yy269: + YYDEBUG(269, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(266, *YYCURSOR); + YYDEBUG(270, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy265; + goto yy269; } if (yych <= 'Z') { if (yych <= '&') { - if (yych == '"') goto yy270; + if (yych == '"') goto yy274; goto yy193; } else { - if (yych <= '\'') goto yy269; + if (yych <= '\'') goto yy273; if (yych <= '@') goto yy193; } } else { if (yych <= '`') { if (yych != '_') goto yy193; } else { - if (yych <= 'z') goto yy267; + if (yych <= 'z') goto yy271; if (yych <= '~') goto yy193; } } -yy267: - YYDEBUG(267, *YYCURSOR); +yy271: + YYDEBUG(271, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(268, *YYCURSOR); + YYDEBUG(272, *YYCURSOR); if (yych <= '@') { if (yych <= '\f') { - if (yych == '\n') goto yy274; + if (yych == '\n') goto yy278; goto yy193; } else { - if (yych <= '\r') goto yy276; + if (yych <= '\r') goto yy280; if (yych <= '/') goto yy193; - if (yych <= '9') goto yy267; + if (yych <= '9') goto yy271; goto yy193; } } else { if (yych <= '_') { - if (yych <= 'Z') goto yy267; + if (yych <= 'Z') goto yy271; if (yych <= '^') goto yy193; - goto yy267; + goto yy271; } else { if (yych <= '`') goto yy193; - if (yych <= 'z') goto yy267; + if (yych <= 'z') goto yy271; if (yych <= '~') goto yy193; - goto yy267; + goto yy271; } } -yy269: - YYDEBUG(269, *YYCURSOR); +yy273: + YYDEBUG(273, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\'') goto yy193; - if (yych <= '/') goto yy278; + if (yych <= '/') goto yy282; if (yych <= '9') goto yy193; - goto yy278; -yy270: - YYDEBUG(270, *YYCURSOR); + goto yy282; +yy274: + YYDEBUG(274, *YYCURSOR); yych = *++YYCURSOR; if (yych == '"') goto yy193; - if (yych <= '/') goto yy272; + if (yych <= '/') goto yy276; if (yych <= '9') goto yy193; - goto yy272; -yy271: - YYDEBUG(271, *YYCURSOR); + goto yy276; +yy275: + YYDEBUG(275, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy272: - YYDEBUG(272, *YYCURSOR); +yy276: + YYDEBUG(276, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { if (yych != '"') goto yy193; } else { - if (yych <= '9') goto yy271; + if (yych <= '9') goto yy275; if (yych <= '@') goto yy193; - goto yy271; + goto yy275; } } else { if (yych <= '`') { - if (yych == '_') goto yy271; + if (yych == '_') goto yy275; goto yy193; } else { - if (yych <= 'z') goto yy271; + if (yych <= 'z') goto yy275; if (yych <= '~') goto yy193; - goto yy271; + goto yy275; } } -yy273: - YYDEBUG(273, *YYCURSOR); +yy277: + YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy274; - if (yych == '\r') goto yy276; + if (yych == '\n') goto yy278; + if (yych == '\r') goto yy280; goto yy193; -yy274: - YYDEBUG(274, *YYCURSOR); +yy278: + YYDEBUG(278, *YYCURSOR); ++YYCURSOR; -yy275: - YYDEBUG(275, *YYCURSOR); +yy279: + YYDEBUG(279, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1911 "Zend/zend_language_scanner.l" +#line 2106 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3749,217 +3929,200 @@ yy275: return T_START_HEREDOC; } -#line 3753 "Zend/zend_language_scanner.c" -yy276: - YYDEBUG(276, *YYCURSOR); +#line 3933 "Zend/zend_language_scanner.c" +yy280: + YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy274; - goto yy275; -yy277: - YYDEBUG(277, *YYCURSOR); + if (yych == '\n') goto yy278; + goto yy279; +yy281: + YYDEBUG(281, *YYCURSOR); ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; -yy278: - YYDEBUG(278, *YYCURSOR); +yy282: + YYDEBUG(282, *YYCURSOR); if (yych <= 'Z') { if (yych <= '/') { - if (yych == '\'') goto yy273; + if (yych == '\'') goto yy277; goto yy193; } else { - if (yych <= '9') goto yy277; + if (yych <= '9') goto yy281; if (yych <= '@') goto yy193; - goto yy277; + goto yy281; } } else { if (yych <= '`') { - if (yych == '_') goto yy277; + if (yych == '_') goto yy281; goto yy193; } else { - if (yych <= 'z') goto yy277; + if (yych <= 'z') goto yy281; if (yych <= '~') goto yy193; - goto yy277; + goto yy281; } } -yy279: - YYDEBUG(279, *YYCURSOR); +yy283: + YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy255; - YYDEBUG(280, *YYCURSOR); + if (yych != '=') goto yy259; + YYDEBUG(284, *YYCURSOR); ++YYCURSOR; - YYDEBUG(281, *YYCURSOR); + YYDEBUG(285, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1197 "Zend/zend_language_scanner.l" +#line 1348 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3797 "Zend/zend_language_scanner.c" -yy282: - YYDEBUG(282, *YYCURSOR); +#line 3977 "Zend/zend_language_scanner.c" +yy286: + YYDEBUG(286, *YYCURSOR); ++YYCURSOR; - YYDEBUG(283, *YYCURSOR); + YYDEBUG(287, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1217 "Zend/zend_language_scanner.l" +#line 1368 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3807 "Zend/zend_language_scanner.c" -yy284: - YYDEBUG(284, *YYCURSOR); +#line 3987 "Zend/zend_language_scanner.c" +yy288: + YYDEBUG(288, *YYCURSOR); ++YYCURSOR; - YYDEBUG(285, *YYCURSOR); + YYDEBUG(289, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1185 "Zend/zend_language_scanner.l" +#line 1336 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3817 "Zend/zend_language_scanner.c" -yy286: - YYDEBUG(286, *YYCURSOR); +#line 3997 "Zend/zend_language_scanner.c" +yy290: + YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy287; + if (yych == 'S') goto yy291; if (yych != 's') goto yy186; -yy287: - YYDEBUG(287, *YYCURSOR); +yy291: + YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy288; + if (yych == 'T') goto yy292; if (yych != 't') goto yy186; -yy288: - YYDEBUG(288, *YYCURSOR); +yy292: + YYDEBUG(292, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(289, *YYCURSOR); + YYDEBUG(293, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1177 "Zend/zend_language_scanner.l" +#line 1324 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3840 "Zend/zend_language_scanner.c" -yy290: - YYDEBUG(290, *YYCURSOR); +#line 4020 "Zend/zend_language_scanner.c" +yy294: + YYDEBUG(294, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy294; - YYDEBUG(291, *YYCURSOR); + if ((yych = *YYCURSOR) == '=') goto yy298; + YYDEBUG(295, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1201 "Zend/zend_language_scanner.l" +#line 1352 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3851 "Zend/zend_language_scanner.c" -yy292: - YYDEBUG(292, *YYCURSOR); +#line 4031 "Zend/zend_language_scanner.c" +yy296: + YYDEBUG(296, *YYCURSOR); ++YYCURSOR; - YYDEBUG(293, *YYCURSOR); + YYDEBUG(297, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1173 "Zend/zend_language_scanner.l" +#line 1320 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3861 "Zend/zend_language_scanner.c" -yy294: - YYDEBUG(294, *YYCURSOR); +#line 4041 "Zend/zend_language_scanner.c" +yy298: + YYDEBUG(298, *YYCURSOR); ++YYCURSOR; - YYDEBUG(295, *YYCURSOR); + YYDEBUG(299, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1193 "Zend/zend_language_scanner.l" +#line 1344 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3871 "Zend/zend_language_scanner.c" -yy296: - YYDEBUG(296, *YYCURSOR); +#line 4051 "Zend/zend_language_scanner.c" +yy300: + YYDEBUG(300, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'C': - case 'c': goto yy298; + case 'c': goto yy302; case 'D': - case 'd': goto yy302; + case 'd': goto yy307; case 'F': - case 'f': goto yy299; + case 'f': goto yy304; case 'H': - case 'h': goto yy297; + case 'h': goto yy301; case 'L': - case 'l': goto yy301; + case 'l': goto yy306; case 'M': - case 'm': goto yy300; + case 'm': goto yy305; case 'N': - case 'n': goto yy303; + case 'n': goto yy308; + case 'T': + case 't': goto yy303; default: goto yy186; } -yy297: - YYDEBUG(297, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy357; - if (yych == 'a') goto yy357; - goto yy186; -yy298: - YYDEBUG(298, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy350; - if (yych == 'l') goto yy350; - goto yy186; -yy299: - YYDEBUG(299, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'I') goto yy334; - if (yych <= 'T') goto yy186; - goto yy335; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy186; - goto yy334; - } else { - if (yych == 'u') goto yy335; - goto yy186; - } - } -yy300: - YYDEBUG(300, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy326; - if (yych == 'e') goto yy326; - goto yy186; yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy320; - if (yych == 'i') goto yy320; + if (yych == 'A') goto yy369; + if (yych == 'a') goto yy369; goto yy186; yy302: YYDEBUG(302, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy315; - if (yych == 'i') goto yy315; + if (yych == 'L') goto yy362; + if (yych == 'l') goto yy362; goto yy186; yy303: YYDEBUG(303, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy304; - if (yych != 'a') goto yy186; + if (yych == 'R') goto yy355; + if (yych == 'r') goto yy355; + goto yy186; yy304: YYDEBUG(304, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy305; - if (yych != 'm') goto yy186; + if (yych <= 'U') { + if (yych == 'I') goto yy339; + if (yych <= 'T') goto yy186; + goto yy340; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy186; + goto yy339; + } else { + if (yych == 'u') goto yy340; + goto yy186; + } + } yy305: YYDEBUG(305, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy306; - if (yych != 'e') goto yy186; + if (yych == 'E') goto yy331; + if (yych == 'e') goto yy331; + goto yy186; yy306: YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy307; - if (yych != 's') goto yy186; + if (yych == 'I') goto yy325; + if (yych == 'i') goto yy325; + goto yy186; yy307: YYDEBUG(307, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy308; - if (yych != 'p') goto yy186; + if (yych == 'I') goto yy320; + if (yych == 'i') goto yy320; + goto yy186; yy308: YYDEBUG(308, *YYCURSOR); yych = *++YYCURSOR; @@ -3968,8 +4131,8 @@ yy308: yy309: YYDEBUG(309, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy310; - if (yych != 'c') goto yy186; + if (yych == 'M') goto yy310; + if (yych != 'm') goto yy186; yy310: YYDEBUG(310, *YYCURSOR); yych = *++YYCURSOR; @@ -3978,18 +4141,43 @@ yy310: yy311: YYDEBUG(311, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'S') goto yy312; + if (yych != 's') goto yy186; +yy312: YYDEBUG(312, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy186; + if (yych == 'P') goto yy313; + if (yych != 'p') goto yy186; +yy313: YYDEBUG(313, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy314; + if (yych != 'a') goto yy186; +yy314: + YYDEBUG(314, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy315; + if (yych != 'c') goto yy186; +yy315: + YYDEBUG(315, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy316; + if (yych != 'e') goto yy186; +yy316: + YYDEBUG(316, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy186; + YYDEBUG(317, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy186; + YYDEBUG(318, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(314, *YYCURSOR); + YYDEBUG(319, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1501 "Zend/zend_language_scanner.l" +#line 1707 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -3999,27 +4187,27 @@ yy311: } return T_NS_C; } -#line 4003 "Zend/zend_language_scanner.c" -yy315: - YYDEBUG(315, *YYCURSOR); +#line 4191 "Zend/zend_language_scanner.c" +yy320: + YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy316; + if (yych == 'R') goto yy321; if (yych != 'r') goto yy186; -yy316: - YYDEBUG(316, *YYCURSOR); +yy321: + YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(317, *YYCURSOR); + YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(318, *YYCURSOR); + YYDEBUG(323, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(319, *YYCURSOR); + YYDEBUG(324, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1474 "Zend/zend_language_scanner.l" +#line 1680 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -4046,76 +4234,76 @@ yy316: zendlval->type = IS_STRING; return T_DIR; } -#line 4050 "Zend/zend_language_scanner.c" -yy320: - YYDEBUG(320, *YYCURSOR); +#line 4238 "Zend/zend_language_scanner.c" +yy325: + YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy321; + if (yych == 'N') goto yy326; if (yych != 'n') goto yy186; -yy321: - YYDEBUG(321, *YYCURSOR); +yy326: + YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy322; + if (yych == 'E') goto yy327; if (yych != 'e') goto yy186; -yy322: - YYDEBUG(322, *YYCURSOR); +yy327: + YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(323, *YYCURSOR); + YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(324, *YYCURSOR); + YYDEBUG(329, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(325, *YYCURSOR); + YYDEBUG(330, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1456 "Zend/zend_language_scanner.l" +#line 1662 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } -#line 4081 "Zend/zend_language_scanner.c" -yy326: - YYDEBUG(326, *YYCURSOR); +#line 4269 "Zend/zend_language_scanner.c" +yy331: + YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy327; + if (yych == 'T') goto yy332; if (yych != 't') goto yy186; -yy327: - YYDEBUG(327, *YYCURSOR); +yy332: + YYDEBUG(332, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy328; + if (yych == 'H') goto yy333; if (yych != 'h') goto yy186; -yy328: - YYDEBUG(328, *YYCURSOR); +yy333: + YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy329; + if (yych == 'O') goto yy334; if (yych != 'o') goto yy186; -yy329: - YYDEBUG(329, *YYCURSOR); +yy334: + YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy330; + if (yych == 'D') goto yy335; if (yych != 'd') goto yy186; -yy330: - YYDEBUG(330, *YYCURSOR); +yy335: + YYDEBUG(335, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(331, *YYCURSOR); + YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(332, *YYCURSOR); + YYDEBUG(337, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(333, *YYCURSOR); + YYDEBUG(338, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1435 "Zend/zend_language_scanner.l" +#line 1641 "Zend/zend_language_scanner.l" { - char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; - char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; + const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; + const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; size_t len = 0; if (class_name) { @@ -4125,7 +4313,7 @@ yy330: len += strlen(func_name); } - zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s", + zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s", class_name ? class_name : "", class_name && func_name ? "::" : "", func_name ? func_name : "" @@ -4133,60 +4321,60 @@ yy330: zendlval->type = IS_STRING; return T_METHOD_C; } -#line 4137 "Zend/zend_language_scanner.c" -yy334: - YYDEBUG(334, *YYCURSOR); +#line 4325 "Zend/zend_language_scanner.c" +yy339: + YYDEBUG(339, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy345; - if (yych == 'l') goto yy345; + if (yych == 'L') goto yy350; + if (yych == 'l') goto yy350; goto yy186; -yy335: - YYDEBUG(335, *YYCURSOR); +yy340: + YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy336; + if (yych == 'N') goto yy341; if (yych != 'n') goto yy186; -yy336: - YYDEBUG(336, *YYCURSOR); +yy341: + YYDEBUG(341, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy337; + if (yych == 'C') goto yy342; if (yych != 'c') goto yy186; -yy337: - YYDEBUG(337, *YYCURSOR); +yy342: + YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy338; + if (yych == 'T') goto yy343; if (yych != 't') goto yy186; -yy338: - YYDEBUG(338, *YYCURSOR); +yy343: + YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy339; + if (yych == 'I') goto yy344; if (yych != 'i') goto yy186; -yy339: - YYDEBUG(339, *YYCURSOR); +yy344: + YYDEBUG(344, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy340; + if (yych == 'O') goto yy345; if (yych != 'o') goto yy186; -yy340: - YYDEBUG(340, *YYCURSOR); +yy345: + YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy341; + if (yych == 'N') goto yy346; if (yych != 'n') goto yy186; -yy341: - YYDEBUG(341, *YYCURSOR); +yy346: + YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(342, *YYCURSOR); + YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(343, *YYCURSOR); + YYDEBUG(348, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(344, *YYCURSOR); + YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" +#line 1625 "Zend/zend_language_scanner.l" { - char *func_name = NULL; + const char *func_name = NULL; if (CG(active_op_array)) { func_name = CG(active_op_array)->function_name; @@ -4200,27 +4388,27 @@ yy341: zendlval->type = IS_STRING; return T_FUNC_C; } -#line 4204 "Zend/zend_language_scanner.c" -yy345: - YYDEBUG(345, *YYCURSOR); +#line 4392 "Zend/zend_language_scanner.c" +yy350: + YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy346; + if (yych == 'E') goto yy351; if (yych != 'e') goto yy186; -yy346: - YYDEBUG(346, *YYCURSOR); +yy351: + YYDEBUG(351, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(347, *YYCURSOR); + YYDEBUG(352, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(348, *YYCURSOR); + YYDEBUG(353, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(349, *YYCURSOR); + YYDEBUG(354, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1462 "Zend/zend_language_scanner.l" +#line 1668 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4232,1045 +4420,1044 @@ yy346: zendlval->type = IS_STRING; return T_FILE; } -#line 4236 "Zend/zend_language_scanner.c" -yy350: - YYDEBUG(350, *YYCURSOR); +#line 4424 "Zend/zend_language_scanner.c" +yy355: + YYDEBUG(355, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy351; + if (yych == 'A') goto yy356; if (yych != 'a') goto yy186; -yy351: - YYDEBUG(351, *YYCURSOR); +yy356: + YYDEBUG(356, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy352; - if (yych != 's') goto yy186; -yy352: - YYDEBUG(352, *YYCURSOR); + if (yych == 'I') goto yy357; + if (yych != 'i') goto yy186; +yy357: + YYDEBUG(357, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy353; - if (yych != 's') goto yy186; -yy353: - YYDEBUG(353, *YYCURSOR); + if (yych == 'T') goto yy358; + if (yych != 't') goto yy186; +yy358: + YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(354, *YYCURSOR); + YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(355, *YYCURSOR); + YYDEBUG(360, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(356, *YYCURSOR); + YYDEBUG(361, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1403 "Zend/zend_language_scanner.l" +#line 1605 "Zend/zend_language_scanner.l" { - char *class_name = NULL; - - if (CG(active_class_entry)) { - class_name = CG(active_class_entry)->name; + const char *trait_name = NULL; + + if (CG(active_class_entry) + && (ZEND_ACC_TRAIT == + (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) { + trait_name = CG(active_class_entry)->name; } - - if (!class_name) { - class_name = ""; + + if (!trait_name) { + trait_name = ""; } - zendlval->value.str.len = strlen(class_name); - zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len); + + zendlval->value.str.len = strlen(trait_name); + zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len); zendlval->type = IS_STRING; + + return T_TRAIT_C; +} +#line 4474 "Zend/zend_language_scanner.c" +yy362: + YYDEBUG(362, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy363; + if (yych != 'a') goto yy186; +yy363: + YYDEBUG(363, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy364; + if (yych != 's') goto yy186; +yy364: + YYDEBUG(364, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy365; + if (yych != 's') goto yy186; +yy365: + YYDEBUG(365, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy186; + YYDEBUG(366, *YYCURSOR); + yych = *++YYCURSOR; + if (yych != '_') goto yy186; + YYDEBUG(367, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(368, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1578 "Zend/zend_language_scanner.l" + { + const char *class_name = NULL; + + if (CG(active_class_entry) + && (ZEND_ACC_TRAIT == + (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) { + /* We create a special __CLASS__ constant that is going to be resolved + at run-time */ + zendlval->value.str.len = sizeof("__CLASS__")-1; + zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len); + zendlval->type = IS_CONSTANT; + } else { + if (CG(active_class_entry)) { + class_name = CG(active_class_entry)->name; + } + + if (!class_name) { + class_name = ""; + } + + zendlval->value.str.len = strlen(class_name); + zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len); + zendlval->type = IS_STRING; + } return T_CLASS_C; } -#line 4282 "Zend/zend_language_scanner.c" -yy357: - YYDEBUG(357, *YYCURSOR); +#line 4531 "Zend/zend_language_scanner.c" +yy369: + YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy358; + if (yych == 'L') goto yy370; if (yych != 'l') goto yy186; -yy358: - YYDEBUG(358, *YYCURSOR); +yy370: + YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy359; + if (yych == 'T') goto yy371; if (yych != 't') goto yy186; -yy359: - YYDEBUG(359, *YYCURSOR); +yy371: + YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; if (yych != '_') goto yy186; - YYDEBUG(360, *YYCURSOR); + YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy361; + if (yych == 'C') goto yy373; if (yych != 'c') goto yy186; -yy361: - YYDEBUG(361, *YYCURSOR); +yy373: + YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy362; + if (yych == 'O') goto yy374; if (yych != 'o') goto yy186; -yy362: - YYDEBUG(362, *YYCURSOR); +yy374: + YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy363; + if (yych == 'M') goto yy375; if (yych != 'm') goto yy186; -yy363: - YYDEBUG(363, *YYCURSOR); +yy375: + YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy364; + if (yych == 'P') goto yy376; if (yych != 'p') goto yy186; -yy364: - YYDEBUG(364, *YYCURSOR); +yy376: + YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy365; + if (yych == 'I') goto yy377; if (yych != 'i') goto yy186; -yy365: - YYDEBUG(365, *YYCURSOR); +yy377: + YYDEBUG(377, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy366; + if (yych == 'L') goto yy378; if (yych != 'l') goto yy186; -yy366: - YYDEBUG(366, *YYCURSOR); +yy378: + YYDEBUG(378, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy367; + if (yych == 'E') goto yy379; if (yych != 'e') goto yy186; -yy367: - YYDEBUG(367, *YYCURSOR); +yy379: + YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy368; + if (yych == 'R') goto yy380; if (yych != 'r') goto yy186; -yy368: - YYDEBUG(368, *YYCURSOR); +yy380: + YYDEBUG(380, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(369, *YYCURSOR); + YYDEBUG(381, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1141 "Zend/zend_language_scanner.l" +#line 1288 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4348 "Zend/zend_language_scanner.c" -yy370: - YYDEBUG(370, *YYCURSOR); +#line 4597 "Zend/zend_language_scanner.c" +yy382: + YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy374; - if (yych == 's') goto yy374; + if (yych == 'S') goto yy386; + if (yych == 's') goto yy386; goto yy186; -yy371: - YYDEBUG(371, *YYCURSOR); +yy383: + YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy372; + if (yych == 'E') goto yy384; if (yych != 'e') goto yy186; -yy372: - YYDEBUG(372, *YYCURSOR); +yy384: + YYDEBUG(384, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(373, *YYCURSOR); + YYDEBUG(385, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1125 "Zend/zend_language_scanner.l" +#line 1268 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4372 "Zend/zend_language_scanner.c" -yy374: - YYDEBUG(374, *YYCURSOR); +#line 4621 "Zend/zend_language_scanner.c" +yy386: + YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy375; + if (yych == 'E') goto yy387; if (yych != 'e') goto yy186; -yy375: - YYDEBUG(375, *YYCURSOR); +yy387: + YYDEBUG(387, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy376; + if (yych == 'T') goto yy388; if (yych != 't') goto yy186; -yy376: - YYDEBUG(376, *YYCURSOR); +yy388: + YYDEBUG(388, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(377, *YYCURSOR); + YYDEBUG(389, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1169 "Zend/zend_language_scanner.l" +#line 1316 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4395 "Zend/zend_language_scanner.c" -yy378: - YYDEBUG(378, *YYCURSOR); +#line 4644 "Zend/zend_language_scanner.c" +yy390: + YYDEBUG(390, *YYCURSOR); ++YYCURSOR; YYFILL(7); yych = *YYCURSOR; -yy379: - YYDEBUG(379, *YYCURSOR); +yy391: + YYDEBUG(391, *YYCURSOR); if (yych <= 'S') { if (yych <= 'D') { if (yych <= ' ') { - if (yych == '\t') goto yy378; + if (yych == '\t') goto yy390; if (yych <= 0x1F) goto yy193; - goto yy378; + goto yy390; } else { if (yych <= 'A') { if (yych <= '@') goto yy193; - goto yy383; + goto yy395; } else { - if (yych <= 'B') goto yy381; + if (yych <= 'B') goto yy393; if (yych <= 'C') goto yy193; - goto yy386; + goto yy398; } } } else { if (yych <= 'I') { - if (yych == 'F') goto yy387; + if (yych == 'F') goto yy399; if (yych <= 'H') goto yy193; - goto yy388; + goto yy400; } else { if (yych <= 'O') { if (yych <= 'N') goto yy193; - goto yy382; + goto yy394; } else { if (yych <= 'Q') goto yy193; - if (yych <= 'R') goto yy385; - goto yy384; + if (yych <= 'R') goto yy397; + goto yy396; } } } } else { if (yych <= 'f') { if (yych <= 'a') { - if (yych == 'U') goto yy380; + if (yych == 'U') goto yy392; if (yych <= '`') goto yy193; - goto yy383; + goto yy395; } else { if (yych <= 'c') { - if (yych <= 'b') goto yy381; + if (yych <= 'b') goto yy393; goto yy193; } else { - if (yych <= 'd') goto yy386; + if (yych <= 'd') goto yy398; if (yych <= 'e') goto yy193; - goto yy387; + goto yy399; } } } else { if (yych <= 'q') { if (yych <= 'i') { if (yych <= 'h') goto yy193; - goto yy388; + goto yy400; } else { - if (yych == 'o') goto yy382; + if (yych == 'o') goto yy394; goto yy193; } } else { if (yych <= 's') { - if (yych <= 'r') goto yy385; - goto yy384; + if (yych <= 'r') goto yy397; + goto yy396; } else { if (yych != 'u') goto yy193; } } } } -yy380: - YYDEBUG(380, *YYCURSOR); +yy392: + YYDEBUG(392, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy451; - if (yych == 'n') goto yy451; + if (yych == 'N') goto yy459; + if (yych == 'n') goto yy459; goto yy193; -yy381: - YYDEBUG(381, *YYCURSOR); +yy393: + YYDEBUG(393, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy434; + if (yych == 'I') goto yy446; if (yych <= 'N') goto yy193; - goto yy435; + goto yy447; } else { if (yych <= 'i') { if (yych <= 'h') goto yy193; - goto yy434; + goto yy446; } else { - if (yych == 'o') goto yy435; + if (yych == 'o') goto yy447; goto yy193; } } -yy382: - YYDEBUG(382, *YYCURSOR); +yy394: + YYDEBUG(394, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy426; - if (yych == 'b') goto yy426; + if (yych == 'B') goto yy438; + if (yych == 'b') goto yy438; goto yy193; -yy383: - YYDEBUG(383, *YYCURSOR); +yy395: + YYDEBUG(395, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy419; - if (yych == 'r') goto yy419; + if (yych == 'R') goto yy431; + if (yych == 'r') goto yy431; goto yy193; -yy384: - YYDEBUG(384, *YYCURSOR); +yy396: + YYDEBUG(396, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy411; - if (yych == 't') goto yy411; + if (yych == 'T') goto yy423; + if (yych == 't') goto yy423; goto yy193; -yy385: - YYDEBUG(385, *YYCURSOR); +yy397: + YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy409; - if (yych == 'e') goto yy409; + if (yych == 'E') goto yy421; + if (yych == 'e') goto yy421; goto yy193; -yy386: - YYDEBUG(386, *YYCURSOR); +yy398: + YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy405; - if (yych == 'o') goto yy405; + if (yych == 'O') goto yy417; + if (yych == 'o') goto yy417; goto yy193; -yy387: - YYDEBUG(387, *YYCURSOR); +yy399: + YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy398; - if (yych == 'l') goto yy398; + if (yych == 'L') goto yy410; + if (yych == 'l') goto yy410; goto yy193; -yy388: - YYDEBUG(388, *YYCURSOR); +yy400: + YYDEBUG(400, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy389; + if (yych == 'N') goto yy401; if (yych != 'n') goto yy193; -yy389: - YYDEBUG(389, *YYCURSOR); +yy401: + YYDEBUG(401, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy390; + if (yych == 'T') goto yy402; if (yych != 't') goto yy193; -yy390: - YYDEBUG(390, *YYCURSOR); +yy402: + YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy391; - if (yych != 'e') goto yy393; -yy391: - YYDEBUG(391, *YYCURSOR); + if (yych == 'E') goto yy403; + if (yych != 'e') goto yy405; +yy403: + YYDEBUG(403, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy396; - if (yych == 'g') goto yy396; + if (yych == 'G') goto yy408; + if (yych == 'g') goto yy408; goto yy193; -yy392: - YYDEBUG(392, *YYCURSOR); +yy404: + YYDEBUG(404, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy393: - YYDEBUG(393, *YYCURSOR); +yy405: + YYDEBUG(405, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy392; + if (yych == '\t') goto yy404; goto yy193; } else { - if (yych <= ' ') goto yy392; + if (yych <= ' ') goto yy404; if (yych != ')') goto yy193; } - YYDEBUG(394, *YYCURSOR); + YYDEBUG(406, *YYCURSOR); ++YYCURSOR; - YYDEBUG(395, *YYCURSOR); + YYDEBUG(407, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1069 "Zend/zend_language_scanner.l" +#line 1216 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4571 "Zend/zend_language_scanner.c" -yy396: - YYDEBUG(396, *YYCURSOR); +#line 4820 "Zend/zend_language_scanner.c" +yy408: + YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy397; + if (yych == 'E') goto yy409; if (yych != 'e') goto yy193; -yy397: - YYDEBUG(397, *YYCURSOR); +yy409: + YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy392; - if (yych == 'r') goto yy392; + if (yych == 'R') goto yy404; + if (yych == 'r') goto yy404; goto yy193; -yy398: - YYDEBUG(398, *YYCURSOR); +yy410: + YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy399; + if (yych == 'O') goto yy411; if (yych != 'o') goto yy193; -yy399: - YYDEBUG(399, *YYCURSOR); +yy411: + YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy400; + if (yych == 'A') goto yy412; if (yych != 'a') goto yy193; -yy400: - YYDEBUG(400, *YYCURSOR); +yy412: + YYDEBUG(412, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy401; + if (yych == 'T') goto yy413; if (yych != 't') goto yy193; -yy401: - YYDEBUG(401, *YYCURSOR); +yy413: + YYDEBUG(413, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(402, *YYCURSOR); + YYDEBUG(414, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy401; + if (yych == '\t') goto yy413; goto yy193; } else { - if (yych <= ' ') goto yy401; + if (yych <= ' ') goto yy413; if (yych != ')') goto yy193; } - YYDEBUG(403, *YYCURSOR); + YYDEBUG(415, *YYCURSOR); ++YYCURSOR; - YYDEBUG(404, *YYCURSOR); + YYDEBUG(416, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1073 "Zend/zend_language_scanner.l" +#line 1220 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4619 "Zend/zend_language_scanner.c" -yy405: - YYDEBUG(405, *YYCURSOR); +#line 4868 "Zend/zend_language_scanner.c" +yy417: + YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy406; + if (yych == 'U') goto yy418; if (yych != 'u') goto yy193; -yy406: - YYDEBUG(406, *YYCURSOR); +yy418: + YYDEBUG(418, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy407; + if (yych == 'B') goto yy419; if (yych != 'b') goto yy193; -yy407: - YYDEBUG(407, *YYCURSOR); +yy419: + YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy408; + if (yych == 'L') goto yy420; if (yych != 'l') goto yy193; -yy408: - YYDEBUG(408, *YYCURSOR); +yy420: + YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy401; - if (yych == 'e') goto yy401; + if (yych == 'E') goto yy413; + if (yych == 'e') goto yy413; goto yy193; -yy409: - YYDEBUG(409, *YYCURSOR); +yy421: + YYDEBUG(421, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy410; + if (yych == 'A') goto yy422; if (yych != 'a') goto yy193; -yy410: - YYDEBUG(410, *YYCURSOR); +yy422: + YYDEBUG(422, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy401; - if (yych == 'l') goto yy401; + if (yych == 'L') goto yy413; + if (yych == 'l') goto yy413; goto yy193; -yy411: - YYDEBUG(411, *YYCURSOR); +yy423: + YYDEBUG(423, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy412; + if (yych == 'R') goto yy424; if (yych != 'r') goto yy193; -yy412: - YYDEBUG(412, *YYCURSOR); +yy424: + YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy413; + if (yych == 'I') goto yy425; if (yych != 'i') goto yy193; -yy413: - YYDEBUG(413, *YYCURSOR); +yy425: + YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy414; + if (yych == 'N') goto yy426; if (yych != 'n') goto yy193; -yy414: - YYDEBUG(414, *YYCURSOR); +yy426: + YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy415; + if (yych == 'G') goto yy427; if (yych != 'g') goto yy193; -yy415: - YYDEBUG(415, *YYCURSOR); +yy427: + YYDEBUG(427, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(416, *YYCURSOR); + YYDEBUG(428, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy415; + if (yych == '\t') goto yy427; goto yy193; } else { - if (yych <= ' ') goto yy415; + if (yych <= ' ') goto yy427; if (yych != ')') goto yy193; } - YYDEBUG(417, *YYCURSOR); + YYDEBUG(429, *YYCURSOR); ++YYCURSOR; - YYDEBUG(418, *YYCURSOR); + YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1077 "Zend/zend_language_scanner.l" +#line 1224 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4693 "Zend/zend_language_scanner.c" -yy419: - YYDEBUG(419, *YYCURSOR); +#line 4942 "Zend/zend_language_scanner.c" +yy431: + YYDEBUG(431, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy420; + if (yych == 'R') goto yy432; if (yych != 'r') goto yy193; -yy420: - YYDEBUG(420, *YYCURSOR); +yy432: + YYDEBUG(432, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy421; + if (yych == 'A') goto yy433; if (yych != 'a') goto yy193; -yy421: - YYDEBUG(421, *YYCURSOR); +yy433: + YYDEBUG(433, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy422; + if (yych == 'Y') goto yy434; if (yych != 'y') goto yy193; -yy422: - YYDEBUG(422, *YYCURSOR); +yy434: + YYDEBUG(434, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(423, *YYCURSOR); + YYDEBUG(435, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy422; + if (yych == '\t') goto yy434; goto yy193; } else { - if (yych <= ' ') goto yy422; + if (yych <= ' ') goto yy434; if (yych != ')') goto yy193; } - YYDEBUG(424, *YYCURSOR); + YYDEBUG(436, *YYCURSOR); ++YYCURSOR; - YYDEBUG(425, *YYCURSOR); + YYDEBUG(437, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1085 "Zend/zend_language_scanner.l" +#line 1228 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4730 "Zend/zend_language_scanner.c" -yy426: - YYDEBUG(426, *YYCURSOR); +#line 4979 "Zend/zend_language_scanner.c" +yy438: + YYDEBUG(438, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy427; + if (yych == 'J') goto yy439; if (yych != 'j') goto yy193; -yy427: - YYDEBUG(427, *YYCURSOR); +yy439: + YYDEBUG(439, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy428; + if (yych == 'E') goto yy440; if (yych != 'e') goto yy193; -yy428: - YYDEBUG(428, *YYCURSOR); +yy440: + YYDEBUG(440, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy429; + if (yych == 'C') goto yy441; if (yych != 'c') goto yy193; -yy429: - YYDEBUG(429, *YYCURSOR); +yy441: + YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy430; + if (yych == 'T') goto yy442; if (yych != 't') goto yy193; -yy430: - YYDEBUG(430, *YYCURSOR); +yy442: + YYDEBUG(442, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(431, *YYCURSOR); + YYDEBUG(443, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy430; + if (yych == '\t') goto yy442; goto yy193; } else { - if (yych <= ' ') goto yy430; + if (yych <= ' ') goto yy442; if (yych != ')') goto yy193; } - YYDEBUG(432, *YYCURSOR); + YYDEBUG(444, *YYCURSOR); ++YYCURSOR; - YYDEBUG(433, *YYCURSOR); + YYDEBUG(445, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1089 "Zend/zend_language_scanner.l" +#line 1232 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4772 "Zend/zend_language_scanner.c" -yy434: - YYDEBUG(434, *YYCURSOR); +#line 5021 "Zend/zend_language_scanner.c" +yy446: + YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy444; - if (yych == 'n') goto yy444; + if (yych == 'N') goto yy456; + if (yych == 'n') goto yy456; goto yy193; -yy435: - YYDEBUG(435, *YYCURSOR); +yy447: + YYDEBUG(447, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy436; + if (yych == 'O') goto yy448; if (yych != 'o') goto yy193; -yy436: - YYDEBUG(436, *YYCURSOR); +yy448: + YYDEBUG(448, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy437; + if (yych == 'L') goto yy449; if (yych != 'l') goto yy193; -yy437: - YYDEBUG(437, *YYCURSOR); +yy449: + YYDEBUG(449, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy442; - if (yych == 'e') goto yy442; - goto yy439; -yy438: - YYDEBUG(438, *YYCURSOR); + if (yych == 'E') goto yy454; + if (yych == 'e') goto yy454; + goto yy451; +yy450: + YYDEBUG(450, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy439: - YYDEBUG(439, *YYCURSOR); +yy451: + YYDEBUG(451, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy438; + if (yych == '\t') goto yy450; goto yy193; } else { - if (yych <= ' ') goto yy438; + if (yych <= ' ') goto yy450; if (yych != ')') goto yy193; } - YYDEBUG(440, *YYCURSOR); + YYDEBUG(452, *YYCURSOR); ++YYCURSOR; - YYDEBUG(441, *YYCURSOR); + YYDEBUG(453, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1093 "Zend/zend_language_scanner.l" +#line 1236 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4817 "Zend/zend_language_scanner.c" -yy442: - YYDEBUG(442, *YYCURSOR); +#line 5066 "Zend/zend_language_scanner.c" +yy454: + YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy443; + if (yych == 'A') goto yy455; if (yych != 'a') goto yy193; -yy443: - YYDEBUG(443, *YYCURSOR); +yy455: + YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy438; - if (yych == 'n') goto yy438; + if (yych == 'N') goto yy450; + if (yych == 'n') goto yy450; goto yy193; -yy444: - YYDEBUG(444, *YYCURSOR); +yy456: + YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy445; + if (yych == 'A') goto yy457; if (yych != 'a') goto yy193; -yy445: - YYDEBUG(445, *YYCURSOR); +yy457: + YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy446; + if (yych == 'R') goto yy458; if (yych != 'r') goto yy193; -yy446: - YYDEBUG(446, *YYCURSOR); +yy458: + YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy447; - if (yych != 'y') goto yy193; -yy447: - YYDEBUG(447, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(448, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy447; - goto yy193; - } else { - if (yych <= ' ') goto yy447; - if (yych != ')') goto yy193; - } - YYDEBUG(449, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(450, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1081 "Zend/zend_language_scanner.l" - { - return T_STRING_CAST; -} -#line 4865 "Zend/zend_language_scanner.c" -yy451: - YYDEBUG(451, *YYCURSOR); + if (yych == 'Y') goto yy427; + if (yych == 'y') goto yy427; + goto yy193; +yy459: + YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy452; + if (yych == 'S') goto yy460; if (yych != 's') goto yy193; -yy452: - YYDEBUG(452, *YYCURSOR); +yy460: + YYDEBUG(460, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy453; + if (yych == 'E') goto yy461; if (yych != 'e') goto yy193; -yy453: - YYDEBUG(453, *YYCURSOR); +yy461: + YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy454; + if (yych == 'T') goto yy462; if (yych != 't') goto yy193; -yy454: - YYDEBUG(454, *YYCURSOR); +yy462: + YYDEBUG(462, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(455, *YYCURSOR); + YYDEBUG(463, *YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy454; + if (yych == '\t') goto yy462; goto yy193; } else { - if (yych <= ' ') goto yy454; + if (yych <= ' ') goto yy462; if (yych != ')') goto yy193; } - YYDEBUG(456, *YYCURSOR); + YYDEBUG(464, *YYCURSOR); ++YYCURSOR; - YYDEBUG(457, *YYCURSOR); + YYDEBUG(465, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1097 "Zend/zend_language_scanner.l" +#line 1240 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4902 "Zend/zend_language_scanner.c" -yy458: - YYDEBUG(458, *YYCURSOR); +#line 5130 "Zend/zend_language_scanner.c" +yy466: + YYDEBUG(466, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy459; + if (yych == 'R') goto yy467; if (yych != 'r') goto yy186; -yy459: - YYDEBUG(459, *YYCURSOR); +yy467: + YYDEBUG(467, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(460, *YYCURSOR); + YYDEBUG(468, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1065 "Zend/zend_language_scanner.l" +#line 1212 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4920 "Zend/zend_language_scanner.c" -yy461: - YYDEBUG(461, *YYCURSOR); +#line 5148 "Zend/zend_language_scanner.c" +yy469: + YYDEBUG(469, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy465; - if (yych == 'm') goto yy465; + if (yych == 'M') goto yy473; + if (yych == 'm') goto yy473; goto yy186; -yy462: - YYDEBUG(462, *YYCURSOR); +yy470: + YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy463; + if (yych == 'W') goto yy471; if (yych != 'w') goto yy186; -yy463: - YYDEBUG(463, *YYCURSOR); +yy471: + YYDEBUG(471, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(464, *YYCURSOR); + YYDEBUG(472, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1057 "Zend/zend_language_scanner.l" +#line 1204 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4944 "Zend/zend_language_scanner.c" -yy465: - YYDEBUG(465, *YYCURSOR); +#line 5172 "Zend/zend_language_scanner.c" +yy473: + YYDEBUG(473, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy466; + if (yych == 'E') goto yy474; if (yych != 'e') goto yy186; -yy466: - YYDEBUG(466, *YYCURSOR); +yy474: + YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy467; + if (yych == 'S') goto yy475; if (yych != 's') goto yy186; -yy467: - YYDEBUG(467, *YYCURSOR); +yy475: + YYDEBUG(475, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy468; + if (yych == 'P') goto yy476; if (yych != 'p') goto yy186; -yy468: - YYDEBUG(468, *YYCURSOR); +yy476: + YYDEBUG(476, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy469; + if (yych == 'A') goto yy477; if (yych != 'a') goto yy186; -yy469: - YYDEBUG(469, *YYCURSOR); +yy477: + YYDEBUG(477, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy470; + if (yych == 'C') goto yy478; if (yych != 'c') goto yy186; -yy470: - YYDEBUG(470, *YYCURSOR); +yy478: + YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy471; + if (yych == 'E') goto yy479; if (yych != 'e') goto yy186; -yy471: - YYDEBUG(471, *YYCURSOR); +yy479: + YYDEBUG(479, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(472, *YYCURSOR); + YYDEBUG(480, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1121 "Zend/zend_language_scanner.l" +#line 1264 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4987 "Zend/zend_language_scanner.c" -yy473: - YYDEBUG(473, *YYCURSOR); +#line 5215 "Zend/zend_language_scanner.c" +yy481: + YYDEBUG(481, *YYCURSOR); ++YYCURSOR; - YYDEBUG(474, *YYCURSOR); + YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1049 "Zend/zend_language_scanner.l" +#line 1196 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4997 "Zend/zend_language_scanner.c" -yy475: - YYDEBUG(475, *YYCURSOR); +#line 5225 "Zend/zend_language_scanner.c" +yy483: + YYDEBUG(483, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy476: - YYDEBUG(476, *YYCURSOR); +yy484: + YYDEBUG(484, *YYCURSOR); if (yych <= '\f') { if (yych <= 0x08) goto yy140; - if (yych <= '\n') goto yy475; + if (yych <= '\n') goto yy483; goto yy140; } else { - if (yych <= '\r') goto yy475; - if (yych == ' ') goto yy475; + if (yych <= '\r') goto yy483; + if (yych == ' ') goto yy483; goto yy140; } -yy477: - YYDEBUG(477, *YYCURSOR); +yy485: + YYDEBUG(485, *YYCURSOR); ++YYCURSOR; - YYDEBUG(478, *YYCURSOR); + YYDEBUG(486, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1221 "Zend/zend_language_scanner.l" +#line 1372 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 5023 "Zend/zend_language_scanner.c" -yy479: - YYDEBUG(479, *YYCURSOR); +#line 5251 "Zend/zend_language_scanner.c" +yy487: + YYDEBUG(487, *YYCURSOR); ++YYCURSOR; - YYDEBUG(480, *YYCURSOR); + YYDEBUG(488, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1189 "Zend/zend_language_scanner.l" +#line 1340 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5033 "Zend/zend_language_scanner.c" -yy481: - YYDEBUG(481, *YYCURSOR); +#line 5261 "Zend/zend_language_scanner.c" +yy489: + YYDEBUG(489, *YYCURSOR); ++YYCURSOR; - YYDEBUG(482, *YYCURSOR); + YYDEBUG(490, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1019 "Zend/zend_language_scanner.l" +#line 1166 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5044 "Zend/zend_language_scanner.c" -yy483: - YYDEBUG(483, *YYCURSOR); +#line 5272 "Zend/zend_language_scanner.c" +yy491: + YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'I') goto yy490; + if (yych == 'I') goto yy498; if (yych <= 'N') goto yy186; - goto yy491; + goto yy499; } else { if (yych <= 'i') { if (yych <= 'h') goto yy186; - goto yy490; + goto yy498; } else { - if (yych == 'o') goto yy491; + if (yych == 'o') goto yy499; goto yy186; } } -yy484: - YYDEBUG(484, *YYCURSOR); +yy492: + YYDEBUG(492, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy485; + if (yych == 'B') goto yy493; if (yych != 'b') goto yy186; -yy485: - YYDEBUG(485, *YYCURSOR); +yy493: + YYDEBUG(493, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy486; + if (yych == 'L') goto yy494; if (yych != 'l') goto yy186; -yy486: - YYDEBUG(486, *YYCURSOR); +yy494: + YYDEBUG(494, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy487; + if (yych == 'I') goto yy495; if (yych != 'i') goto yy186; -yy487: - YYDEBUG(487, *YYCURSOR); +yy495: + YYDEBUG(495, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy488; + if (yych == 'C') goto yy496; if (yych != 'c') goto yy186; -yy488: - YYDEBUG(488, *YYCURSOR); +yy496: + YYDEBUG(496, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(489, *YYCURSOR); + YYDEBUG(497, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1165 "Zend/zend_language_scanner.l" +#line 1312 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 5093 "Zend/zend_language_scanner.c" -yy490: - YYDEBUG(490, *YYCURSOR); +#line 5321 "Zend/zend_language_scanner.c" +yy498: + YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { - if (yych == 'N') goto yy499; + if (yych == 'N') goto yy507; if (yych <= 'U') goto yy186; - goto yy500; + goto yy508; } else { if (yych <= 'n') { if (yych <= 'm') goto yy186; - goto yy499; + goto yy507; } else { - if (yych == 'v') goto yy500; + if (yych == 'v') goto yy508; goto yy186; } } -yy491: - YYDEBUG(491, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy492; - if (yych != 't') goto yy186; -yy492: - YYDEBUG(492, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy493; - if (yych != 'e') goto yy186; -yy493: - YYDEBUG(493, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy494; - if (yych != 'c') goto yy186; -yy494: - YYDEBUG(494, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy495; - if (yych != 't') goto yy186; -yy495: - YYDEBUG(495, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy496; - if (yych != 'e') goto yy186; -yy496: - YYDEBUG(496, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy497; - if (yych != 'd') goto yy186; -yy497: - YYDEBUG(497, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy185; - } - YYDEBUG(498, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1161 "Zend/zend_language_scanner.l" - { - return T_PROTECTED; -} -#line 5152 "Zend/zend_language_scanner.c" yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy505; - if (yych == 't') goto yy505; - goto yy186; + if (yych == 'T') goto yy500; + if (yych != 't') goto yy186; yy500: YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy501; - if (yych != 'a') goto yy186; + if (yych == 'E') goto yy501; + if (yych != 'e') goto yy186; yy501: YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy502; - if (yych != 't') goto yy186; + if (yych == 'C') goto yy502; + if (yych != 'c') goto yy186; yy502: YYDEBUG(502, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy503; - if (yych != 'e') goto yy186; + if (yych == 'T') goto yy503; + if (yych != 't') goto yy186; yy503: YYDEBUG(503, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy185; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy504; + if (yych != 'e') goto yy186; +yy504: YYDEBUG(504, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1157 "Zend/zend_language_scanner.l" - { - return T_PRIVATE; -} -#line 5186 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'D') goto yy505; + if (yych != 'd') goto yy186; yy505: YYDEBUG(505, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 999 "Zend/zend_language_scanner.l" +#line 1308 "Zend/zend_language_scanner.l" { - return T_PRINT; + return T_PROTECTED; } -#line 5199 "Zend/zend_language_scanner.c" +#line 5380 "Zend/zend_language_scanner.c" yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy512; - if (yych == 'o') goto yy512; + if (yych == 'T') goto yy513; + if (yych == 't') goto yy513; goto yy186; yy508: YYDEBUG(508, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy509; - if (yych != 't') goto yy186; + if (yych == 'A') goto yy509; + if (yych != 'a') goto yy186; yy509: YYDEBUG(509, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy510; - if (yych != 'o') goto yy186; + if (yych == 'T') goto yy510; + if (yych != 't') goto yy186; yy510: YYDEBUG(510, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy511; + if (yych != 'e') goto yy186; +yy511: + YYDEBUG(511, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(511, *YYCURSOR); + YYDEBUG(512, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 991 "Zend/zend_language_scanner.l" +#line 1304 "Zend/zend_language_scanner.l" { - return T_GOTO; + return T_PRIVATE; } -#line 5228 "Zend/zend_language_scanner.c" -yy512: - YYDEBUG(512, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy513; - if (yych != 'b') goto yy186; +#line 5414 "Zend/zend_language_scanner.c" yy513: YYDEBUG(513, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy514; - if (yych != 'a') goto yy186; -yy514: - YYDEBUG(514, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy515; - if (yych != 'l') goto yy186; -yy515: - YYDEBUG(515, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(516, *YYCURSOR); + YYDEBUG(514, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1129 "Zend/zend_language_scanner.l" +#line 1142 "Zend/zend_language_scanner.l" { - return T_GLOBAL; + return T_PRINT; } -#line 5256 "Zend/zend_language_scanner.c" +#line 5427 "Zend/zend_language_scanner.c" +yy515: + YYDEBUG(515, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy520; + if (yych == 'o') goto yy520; + goto yy186; +yy516: + YYDEBUG(516, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy517; + if (yych != 't') goto yy186; yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy525; - goto yy193; + if (yych == 'O') goto yy518; + if (yych != 'o') goto yy186; yy518: YYDEBUG(518, *YYCURSOR); - yych = *++YYCURSOR; - goto yy180; -yy519: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } YYDEBUG(519, *YYCURSOR); - yych = *++YYCURSOR; - goto yy178; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1134 "Zend/zend_language_scanner.l" + { + return T_GOTO; +} +#line 5456 "Zend/zend_language_scanner.c" yy520: YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy521; - if (yych != 'e') goto yy186; + if (yych == 'B') goto yy521; + if (yych != 'b') goto yy186; yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; @@ -5279,1545 +5466,1709 @@ yy521: yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'K') goto yy523; - if (yych != 'k') goto yy186; + if (yych == 'L') goto yy523; + if (yych != 'l') goto yy186; yy523: YYDEBUG(523, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 983 "Zend/zend_language_scanner.l" +#line 1276 "Zend/zend_language_scanner.l" { - return T_BREAK; + return T_GLOBAL; } -#line 5297 "Zend/zend_language_scanner.c" +#line 5484 "Zend/zend_language_scanner.c" yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy265; + if (yych == '<') goto yy533; goto yy193; yy526: YYDEBUG(526, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy533; - if (yych == 'a') goto yy533; - goto yy186; + goto yy180; yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy528; - if (yych != 'i') goto yy186; + goto yy178; yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy529; - if (yych != 't') goto yy186; + if (yych == 'E') goto yy529; + if (yych != 'e') goto yy186; yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy530; - if (yych != 'c') goto yy186; + if (yych == 'A') goto yy530; + if (yych != 'a') goto yy186; yy530: YYDEBUG(530, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy531; - if (yych != 'h') goto yy186; + if (yych == 'K') goto yy531; + if (yych != 'k') goto yy186; yy531: YYDEBUG(531, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } YYDEBUG(532, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 967 "Zend/zend_language_scanner.l" +#line 1126 "Zend/zend_language_scanner.l" { - return T_SWITCH; + return T_BREAK; } -#line 5341 "Zend/zend_language_scanner.c" +#line 5525 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy534; - if (yych != 't') goto yy186; + if (yych == '<') goto yy269; + goto yy193; yy534: YYDEBUG(534, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy535; - if (yych != 'i') goto yy186; + if (yych == 'A') goto yy541; + if (yych == 'a') goto yy541; + goto yy186; yy535: YYDEBUG(535, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy536; - if (yych != 'c') goto yy186; + if (yych == 'I') goto yy536; + if (yych != 'i') goto yy186; yy536: YYDEBUG(536, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy537; + if (yych != 't') goto yy186; +yy537: + YYDEBUG(537, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy538; + if (yych != 'c') goto yy186; +yy538: + YYDEBUG(538, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy539; + if (yych != 'h') goto yy186; +yy539: + YYDEBUG(539, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(537, *YYCURSOR); + YYDEBUG(540, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1145 "Zend/zend_language_scanner.l" +#line 1110 "Zend/zend_language_scanner.l" + { + return T_SWITCH; +} +#line 5569 "Zend/zend_language_scanner.c" +yy541: + YYDEBUG(541, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy542; + if (yych != 't') goto yy186; +yy542: + YYDEBUG(542, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy543; + if (yych != 'i') goto yy186; +yy543: + YYDEBUG(543, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy544; + if (yych != 'c') goto yy186; +yy544: + YYDEBUG(544, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(545, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1292 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5369 "Zend/zend_language_scanner.c" -yy538: - YYDEBUG(538, *YYCURSOR); +#line 5597 "Zend/zend_language_scanner.c" +yy546: + YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy549; - if (yych == 's') goto yy549; + if (yych == 'S') goto yy557; + if (yych == 's') goto yy557; goto yy186; -yy539: - YYDEBUG(539, *YYCURSOR); +yy547: + YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy547; - if (yych == 'd') goto yy547; + if (yych == 'D') goto yy555; + if (yych == 'd') goto yy555; goto yy186; -yy540: - YYDEBUG(540, *YYCURSOR); +yy548: + YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy543; - if (yych == 'r') goto yy543; + if (yych == 'R') goto yy551; + if (yych == 'r') goto yy551; goto yy186; -yy541: - YYDEBUG(541, *YYCURSOR); +yy549: + YYDEBUG(549, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(542, *YYCURSOR); + YYDEBUG(550, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 963 "Zend/zend_language_scanner.l" +#line 1106 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5400 "Zend/zend_language_scanner.c" -yy543: - YYDEBUG(543, *YYCURSOR); +#line 5628 "Zend/zend_language_scanner.c" +yy551: + YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy544; + if (yych == 'A') goto yy552; if (yych != 'a') goto yy186; -yy544: - YYDEBUG(544, *YYCURSOR); +yy552: + YYDEBUG(552, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy545; + if (yych == 'Y') goto yy553; if (yych != 'y') goto yy186; -yy545: - YYDEBUG(545, *YYCURSOR); +yy553: + YYDEBUG(553, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(546, *YYCURSOR); + YYDEBUG(554, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1181 "Zend/zend_language_scanner.l" +#line 1328 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5423 "Zend/zend_language_scanner.c" -yy547: - YYDEBUG(547, *YYCURSOR); +#line 5651 "Zend/zend_language_scanner.c" +yy555: + YYDEBUG(555, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(548, *YYCURSOR); + YYDEBUG(556, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1273 "Zend/zend_language_scanner.l" +#line 1424 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5436 "Zend/zend_language_scanner.c" -yy549: - YYDEBUG(549, *YYCURSOR); +#line 5664 "Zend/zend_language_scanner.c" +yy557: + YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy550; + if (yych == 'T') goto yy558; if (yych != 't') goto yy186; -yy550: - YYDEBUG(550, *YYCURSOR); +yy558: + YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy551; + if (yych == 'R') goto yy559; if (yych != 'r') goto yy186; -yy551: - YYDEBUG(551, *YYCURSOR); +yy559: + YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy552; + if (yych == 'A') goto yy560; if (yych != 'a') goto yy186; -yy552: - YYDEBUG(552, *YYCURSOR); +yy560: + YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy553; + if (yych == 'C') goto yy561; if (yych != 'c') goto yy186; -yy553: - YYDEBUG(553, *YYCURSOR); +yy561: + YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy554; + if (yych == 'T') goto yy562; if (yych != 't') goto yy186; -yy554: - YYDEBUG(554, *YYCURSOR); +yy562: + YYDEBUG(562, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(555, *YYCURSOR); + YYDEBUG(563, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1149 "Zend/zend_language_scanner.l" +#line 1296 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5474 "Zend/zend_language_scanner.c" -yy556: - YYDEBUG(556, *YYCURSOR); +#line 5702 "Zend/zend_language_scanner.c" +yy564: + YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy557; + if (yych == 'I') goto yy565; if (yych != 'i') goto yy186; -yy557: - YYDEBUG(557, *YYCURSOR); +yy565: + YYDEBUG(565, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy558; + if (yych == 'L') goto yy566; if (yych != 'l') goto yy186; -yy558: - YYDEBUG(558, *YYCURSOR); +yy566: + YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy559; + if (yych == 'E') goto yy567; if (yych != 'e') goto yy186; -yy559: - YYDEBUG(559, *YYCURSOR); +yy567: + YYDEBUG(567, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(560, *YYCURSOR); + YYDEBUG(568, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 923 "Zend/zend_language_scanner.l" +#line 1066 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5502 "Zend/zend_language_scanner.c" -yy561: - YYDEBUG(561, *YYCURSOR); +#line 5730 "Zend/zend_language_scanner.c" +yy569: + YYDEBUG(569, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(562, *YYCURSOR); + YYDEBUG(570, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 907 "Zend/zend_language_scanner.l" +#line 1050 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5515 "Zend/zend_language_scanner.c" -yy563: - YYDEBUG(563, *YYCURSOR); +#line 5743 "Zend/zend_language_scanner.c" +yy571: + YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy599; - if (yych == 'p') goto yy599; + if (yych == 'P') goto yy613; + if (yych == 'p') goto yy613; goto yy186; -yy564: - YYDEBUG(564, *YYCURSOR); +yy572: + YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'C') { if (yych <= 'B') goto yy186; - goto yy572; + goto yy580; } else { if (yych <= 'R') goto yy186; - if (yych <= 'S') goto yy570; - goto yy571; + if (yych <= 'S') goto yy578; + goto yy579; } } else { if (yych <= 'r') { - if (yych == 'c') goto yy572; + if (yych == 'c') goto yy580; goto yy186; } else { - if (yych <= 's') goto yy570; - if (yych <= 't') goto yy571; + if (yych <= 's') goto yy578; + if (yych <= 't') goto yy579; goto yy186; } } -yy565: - YYDEBUG(565, *YYCURSOR); +yy573: + YYDEBUG(573, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy566; + if (yych == 'S') goto yy574; if (yych != 's') goto yy186; -yy566: - YYDEBUG(566, *YYCURSOR); +yy574: + YYDEBUG(574, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy567; + if (yych == 'E') goto yy575; if (yych != 'e') goto yy186; -yy567: - YYDEBUG(567, *YYCURSOR); +yy575: + YYDEBUG(575, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy568; + if (yych == 'T') goto yy576; if (yych != 't') goto yy186; -yy568: - YYDEBUG(568, *YYCURSOR); +yy576: + YYDEBUG(576, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(569, *YYCURSOR); + YYDEBUG(577, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1133 "Zend/zend_language_scanner.l" +#line 1280 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5571 "Zend/zend_language_scanner.c" -yy570: - YYDEBUG(570, *YYCURSOR); +#line 5799 "Zend/zend_language_scanner.c" +yy578: + YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy591; - if (yych == 't') goto yy591; + if (yych == 'T') goto yy599; + if (yych == 't') goto yy599; goto yy186; -yy571: - YYDEBUG(571, *YYCURSOR); +yy579: + YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy584; - if (yych == 'e') goto yy584; + if (yych == 'E') goto yy592; + if (yych == 'e') goto yy592; goto yy186; -yy572: - YYDEBUG(572, *YYCURSOR); +yy580: + YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy573; + if (yych == 'L') goto yy581; if (yych != 'l') goto yy186; -yy573: - YYDEBUG(573, *YYCURSOR); +yy581: + YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy574; + if (yych == 'U') goto yy582; if (yych != 'u') goto yy186; -yy574: - YYDEBUG(574, *YYCURSOR); +yy582: + YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy575; + if (yych == 'D') goto yy583; if (yych != 'd') goto yy186; -yy575: - YYDEBUG(575, *YYCURSOR); +yy583: + YYDEBUG(583, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy576; + if (yych == 'E') goto yy584; if (yych != 'e') goto yy186; -yy576: - YYDEBUG(576, *YYCURSOR); +yy584: + YYDEBUG(584, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { if (yych >= '0') goto yy185; } else { - if (yych <= '@') goto yy577; + if (yych <= '@') goto yy585; if (yych <= 'Z') goto yy185; } } else { if (yych <= '`') { - if (yych <= '_') goto yy578; + if (yych <= '_') goto yy586; } else { if (yych <= 'z') goto yy185; if (yych >= 0x7F) goto yy185; } } -yy577: - YYDEBUG(577, *YYCURSOR); +yy585: + YYDEBUG(585, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1105 "Zend/zend_language_scanner.l" +#line 1248 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5629 "Zend/zend_language_scanner.c" -yy578: - YYDEBUG(578, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy579; - if (yych != 'o') goto yy186; -yy579: - YYDEBUG(579, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy580; - if (yych != 'n') goto yy186; -yy580: - YYDEBUG(580, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy581; - if (yych != 'c') goto yy186; -yy581: - YYDEBUG(581, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy582; - if (yych != 'e') goto yy186; -yy582: - YYDEBUG(582, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { - goto yy185; - } - YYDEBUG(583, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1109 "Zend/zend_language_scanner.l" - { - return T_INCLUDE_ONCE; -} -#line 5662 "Zend/zend_language_scanner.c" -yy584: - YYDEBUG(584, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy585; - if (yych != 'r') goto yy186; -yy585: - YYDEBUG(585, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy586; - if (yych != 'f') goto yy186; +#line 5857 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy587; - if (yych != 'a') goto yy186; + if (yych == 'O') goto yy587; + if (yych != 'o') goto yy186; yy587: YYDEBUG(587, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy588; - if (yych != 'c') goto yy186; + if (yych == 'N') goto yy588; + if (yych != 'n') goto yy186; yy588: YYDEBUG(588, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy589; - if (yych != 'e') goto yy186; + if (yych == 'C') goto yy589; + if (yych != 'c') goto yy186; yy589: YYDEBUG(589, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy590; + if (yych != 'e') goto yy186; +yy590: + YYDEBUG(590, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(590, *YYCURSOR); + YYDEBUG(591, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1007 "Zend/zend_language_scanner.l" +#line 1252 "Zend/zend_language_scanner.l" { - return T_INTERFACE; + return T_INCLUDE_ONCE; } -#line 5700 "Zend/zend_language_scanner.c" -yy591: - YYDEBUG(591, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy592; - if (yych != 'a') goto yy186; +#line 5890 "Zend/zend_language_scanner.c" yy592: YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy593; - if (yych != 'n') goto yy186; + if (yych == 'R') goto yy593; + if (yych != 'r') goto yy186; yy593: YYDEBUG(593, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy594; - if (yych != 'c') goto yy186; + if (yych == 'F') goto yy594; + if (yych != 'f') goto yy186; yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy595; - if (yych != 'e') goto yy186; + if (yych == 'A') goto yy595; + if (yych != 'a') goto yy186; yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy596; - if (yych != 'o') goto yy186; + if (yych == 'C') goto yy596; + if (yych != 'c') goto yy186; yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy597; - if (yych != 'f') goto yy186; + if (yych == 'E') goto yy597; + if (yych != 'e') goto yy186; yy597: YYDEBUG(597, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } YYDEBUG(598, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 959 "Zend/zend_language_scanner.l" +#line 1150 "Zend/zend_language_scanner.l" { - return T_INSTANCEOF; + return T_INTERFACE; } -#line 5743 "Zend/zend_language_scanner.c" +#line 5928 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy600; - if (yych != 'l') goto yy186; + if (yych <= 'E') { + if (yych == 'A') goto yy600; + if (yych <= 'D') goto yy186; + goto yy601; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy186; + } else { + if (yych == 'e') goto yy601; + goto yy186; + } + } yy600: YYDEBUG(600, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy601; - if (yych != 'e') goto yy186; + if (yych == 'N') goto yy607; + if (yych == 'n') goto yy607; + goto yy186; yy601: YYDEBUG(601, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy602; - if (yych != 'm') goto yy186; + if (yych == 'A') goto yy602; + if (yych != 'a') goto yy186; yy602: YYDEBUG(602, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy603; - if (yych != 'e') goto yy186; + if (yych == 'D') goto yy603; + if (yych != 'd') goto yy186; yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy604; - if (yych != 'n') goto yy186; + if (yych == 'O') goto yy604; + if (yych != 'o') goto yy186; yy604: YYDEBUG(604, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy605; - if (yych != 't') goto yy186; + if (yych == 'F') goto yy605; + if (yych != 'f') goto yy186; yy605: YYDEBUG(605, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy606; - if (yych != 's') goto yy186; -yy606: - YYDEBUG(606, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(607, *YYCURSOR); + YYDEBUG(606, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1015 "Zend/zend_language_scanner.l" +#line 1272 "Zend/zend_language_scanner.l" { - return T_IMPLEMENTS; + return T_INSTEADOF; } -#line 5791 "Zend/zend_language_scanner.c" +#line 5982 "Zend/zend_language_scanner.c" +yy607: + YYDEBUG(607, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy608; + if (yych != 'c') goto yy186; yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy612; - if (yych == 'r') goto yy612; - goto yy186; + if (yych == 'E') goto yy609; + if (yych != 'e') goto yy186; yy609: YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy610; - if (yych != 'y') goto yy186; + if (yych == 'O') goto yy610; + if (yych != 'o') goto yy186; yy610: YYDEBUG(610, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'F') goto yy611; + if (yych != 'f') goto yy186; +yy611: + YYDEBUG(611, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(611, *YYCURSOR); + YYDEBUG(612, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 895 "Zend/zend_language_scanner.l" +#line 1102 "Zend/zend_language_scanner.l" { - return T_TRY; + return T_INSTANCEOF; } -#line 5815 "Zend/zend_language_scanner.c" -yy612: - YYDEBUG(612, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy613; - if (yych != 'o') goto yy186; +#line 6015 "Zend/zend_language_scanner.c" yy613: YYDEBUG(613, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy614; - if (yych != 'w') goto yy186; + if (yych == 'L') goto yy614; + if (yych != 'l') goto yy186; yy614: YYDEBUG(614, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy615; + if (yych != 'e') goto yy186; +yy615: + YYDEBUG(615, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy616; + if (yych != 'm') goto yy186; +yy616: + YYDEBUG(616, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy617; + if (yych != 'e') goto yy186; +yy617: + YYDEBUG(617, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy618; + if (yych != 'n') goto yy186; +yy618: + YYDEBUG(618, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy619; + if (yych != 't') goto yy186; +yy619: + YYDEBUG(619, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'S') goto yy620; + if (yych != 's') goto yy186; +yy620: + YYDEBUG(620, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(615, *YYCURSOR); + YYDEBUG(621, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1162 "Zend/zend_language_scanner.l" + { + return T_IMPLEMENTS; +} +#line 6063 "Zend/zend_language_scanner.c" +yy622: + YYDEBUG(622, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy630; + if (yych == 'r') goto yy630; + goto yy186; +yy623: + YYDEBUG(623, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych == 'A') goto yy626; + if (yych <= 'X') goto yy186; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy186; + goto yy626; + } else { + if (yych != 'y') goto yy186; + } + } + YYDEBUG(624, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(625, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1038 "Zend/zend_language_scanner.l" + { + return T_TRY; +} +#line 6095 "Zend/zend_language_scanner.c" +yy626: + YYDEBUG(626, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy627; + if (yych != 'i') goto yy186; +yy627: + YYDEBUG(627, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy628; + if (yych != 't') goto yy186; +yy628: + YYDEBUG(628, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 903 "Zend/zend_language_scanner.l" +#line 1154 "Zend/zend_language_scanner.l" + { + return T_TRAIT; +} +#line 6118 "Zend/zend_language_scanner.c" +yy630: + YYDEBUG(630, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy631; + if (yych != 'o') goto yy186; +yy631: + YYDEBUG(631, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'W') goto yy632; + if (yych != 'w') goto yy186; +yy632: + YYDEBUG(632, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(633, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1046 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 5838 "Zend/zend_language_scanner.c" -yy616: - YYDEBUG(616, *YYCURSOR); +#line 6141 "Zend/zend_language_scanner.c" +yy634: + YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'Q') goto yy618; + if (yych == 'Q') goto yy636; if (yych <= 'S') goto yy186; } else { if (yych <= 'q') { if (yych <= 'p') goto yy186; - goto yy618; + goto yy636; } else { if (yych != 't') goto yy186; } } - YYDEBUG(617, *YYCURSOR); + YYDEBUG(635, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy630; - if (yych == 'u') goto yy630; + if (yych == 'U') goto yy648; + if (yych == 'u') goto yy648; goto yy186; -yy618: - YYDEBUG(618, *YYCURSOR); +yy636: + YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy619; + if (yych == 'U') goto yy637; if (yych != 'u') goto yy186; -yy619: - YYDEBUG(619, *YYCURSOR); +yy637: + YYDEBUG(637, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy620; + if (yych == 'I') goto yy638; if (yych != 'i') goto yy186; -yy620: - YYDEBUG(620, *YYCURSOR); +yy638: + YYDEBUG(638, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy621; + if (yych == 'R') goto yy639; if (yych != 'r') goto yy186; -yy621: - YYDEBUG(621, *YYCURSOR); +yy639: + YYDEBUG(639, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy622; + if (yych == 'E') goto yy640; if (yych != 'e') goto yy186; -yy622: - YYDEBUG(622, *YYCURSOR); +yy640: + YYDEBUG(640, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '9') { if (yych >= '0') goto yy185; } else { - if (yych <= '@') goto yy623; + if (yych <= '@') goto yy641; if (yych <= 'Z') goto yy185; } } else { if (yych <= '`') { - if (yych <= '_') goto yy624; + if (yych <= '_') goto yy642; } else { if (yych <= 'z') goto yy185; if (yych >= 0x7F) goto yy185; } } -yy623: - YYDEBUG(623, *YYCURSOR); +yy641: + YYDEBUG(641, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1113 "Zend/zend_language_scanner.l" +#line 1256 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 5903 "Zend/zend_language_scanner.c" -yy624: - YYDEBUG(624, *YYCURSOR); +#line 6206 "Zend/zend_language_scanner.c" +yy642: + YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy625; + if (yych == 'O') goto yy643; if (yych != 'o') goto yy186; -yy625: - YYDEBUG(625, *YYCURSOR); +yy643: + YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy626; + if (yych == 'N') goto yy644; if (yych != 'n') goto yy186; -yy626: - YYDEBUG(626, *YYCURSOR); +yy644: + YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy627; + if (yych == 'C') goto yy645; if (yych != 'c') goto yy186; -yy627: - YYDEBUG(627, *YYCURSOR); +yy645: + YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy628; + if (yych == 'E') goto yy646; if (yych != 'e') goto yy186; -yy628: - YYDEBUG(628, *YYCURSOR); +yy646: + YYDEBUG(646, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(629, *YYCURSOR); + YYDEBUG(647, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1117 "Zend/zend_language_scanner.l" +#line 1260 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 5936 "Zend/zend_language_scanner.c" -yy630: - YYDEBUG(630, *YYCURSOR); +#line 6239 "Zend/zend_language_scanner.c" +yy648: + YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy631; + if (yych == 'R') goto yy649; if (yych != 'r') goto yy186; -yy631: - YYDEBUG(631, *YYCURSOR); +yy649: + YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy632; + if (yych == 'N') goto yy650; if (yych != 'n') goto yy186; -yy632: - YYDEBUG(632, *YYCURSOR); +yy650: + YYDEBUG(650, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(633, *YYCURSOR); + YYDEBUG(651, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 891 "Zend/zend_language_scanner.l" +#line 1034 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 5959 "Zend/zend_language_scanner.c" -yy634: - YYDEBUG(634, *YYCURSOR); +#line 6262 "Zend/zend_language_scanner.c" +yy652: + YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych <= 'R') goto yy186; - if (yych <= 'S') goto yy656; - goto yy655; + if (yych <= 'L') { + if (yych <= 'K') goto yy186; + goto yy675; + } else { + if (yych <= 'R') goto yy186; + if (yych <= 'S') goto yy674; + goto yy673; + } } else { - if (yych <= 'r') goto yy186; - if (yych <= 's') goto yy656; - if (yych <= 't') goto yy655; - goto yy186; + if (yych <= 'r') { + if (yych == 'l') goto yy675; + goto yy186; + } else { + if (yych <= 's') goto yy674; + if (yych <= 't') goto yy673; + goto yy186; + } } -yy635: - YYDEBUG(635, *YYCURSOR); +yy653: + YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { - if (yych == 'A') goto yy647; + if (yych == 'A') goto yy665; if (yych <= 'N') goto yy186; - goto yy648; + goto yy666; } else { if (yych <= 'a') { if (yych <= '`') goto yy186; - goto yy647; + goto yy665; } else { - if (yych == 'o') goto yy648; + if (yych == 'o') goto yy666; goto yy186; } } -yy636: - YYDEBUG(636, *YYCURSOR); +yy654: + YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy637; + if (yych == 'N') goto yy655; if (yych != 'n') goto yy186; -yy637: - YYDEBUG(637, *YYCURSOR); +yy655: + YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'R') goto yy186; - if (yych >= 'T') goto yy639; + if (yych >= 'T') goto yy657; } else { if (yych <= 'r') goto yy186; - if (yych <= 's') goto yy638; - if (yych <= 't') goto yy639; + if (yych <= 's') goto yy656; + if (yych <= 't') goto yy657; goto yy186; } -yy638: - YYDEBUG(638, *YYCURSOR); +yy656: + YYDEBUG(656, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy645; - if (yych == 't') goto yy645; + if (yych == 'T') goto yy663; + if (yych == 't') goto yy663; goto yy186; -yy639: - YYDEBUG(639, *YYCURSOR); +yy657: + YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy640; + if (yych == 'I') goto yy658; if (yych != 'i') goto yy186; -yy640: - YYDEBUG(640, *YYCURSOR); +yy658: + YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy641; + if (yych == 'N') goto yy659; if (yych != 'n') goto yy186; -yy641: - YYDEBUG(641, *YYCURSOR); +yy659: + YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy642; + if (yych == 'U') goto yy660; if (yych != 'u') goto yy186; -yy642: - YYDEBUG(642, *YYCURSOR); +yy660: + YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy643; + if (yych == 'E') goto yy661; if (yych != 'e') goto yy186; -yy643: - YYDEBUG(643, *YYCURSOR); +yy661: + YYDEBUG(661, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(644, *YYCURSOR); + YYDEBUG(662, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 987 "Zend/zend_language_scanner.l" +#line 1130 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6044 "Zend/zend_language_scanner.c" -yy645: - YYDEBUG(645, *YYCURSOR); +#line 6356 "Zend/zend_language_scanner.c" +yy663: + YYDEBUG(663, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(646, *YYCURSOR); + YYDEBUG(664, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 887 "Zend/zend_language_scanner.l" +#line 1030 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6057 "Zend/zend_language_scanner.c" -yy647: - YYDEBUG(647, *YYCURSOR); +#line 6369 "Zend/zend_language_scanner.c" +yy665: + YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy652; - if (yych == 's') goto yy652; + if (yych == 'S') goto yy670; + if (yych == 's') goto yy670; goto yy186; -yy648: - YYDEBUG(648, *YYCURSOR); +yy666: + YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy649; + if (yych == 'N') goto yy667; if (yych != 'n') goto yy186; -yy649: - YYDEBUG(649, *YYCURSOR); +yy667: + YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy650; + if (yych == 'E') goto yy668; if (yych != 'e') goto yy186; -yy650: - YYDEBUG(650, *YYCURSOR); +yy668: + YYDEBUG(668, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(651, *YYCURSOR); + YYDEBUG(669, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1061 "Zend/zend_language_scanner.l" +#line 1208 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6086 "Zend/zend_language_scanner.c" -yy652: - YYDEBUG(652, *YYCURSOR); +#line 6398 "Zend/zend_language_scanner.c" +yy670: + YYDEBUG(670, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy653; + if (yych == 'S') goto yy671; if (yych != 's') goto yy186; -yy653: - YYDEBUG(653, *YYCURSOR); +yy671: + YYDEBUG(671, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(654, *YYCURSOR); + YYDEBUG(672, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1003 "Zend/zend_language_scanner.l" +#line 1146 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6104 "Zend/zend_language_scanner.c" -yy655: - YYDEBUG(655, *YYCURSOR); +#line 6416 "Zend/zend_language_scanner.c" +yy673: + YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy659; - if (yych == 'c') goto yy659; + if (yych == 'C') goto yy684; + if (yych == 'c') goto yy684; goto yy186; -yy656: - YYDEBUG(656, *YYCURSOR); +yy674: + YYDEBUG(674, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy682; + if (yych == 'e') goto yy682; + goto yy186; +yy675: + YYDEBUG(675, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy676; + if (yych != 'l') goto yy186; +yy676: + YYDEBUG(676, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy677; + if (yych != 'a') goto yy186; +yy677: + YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy657; + if (yych == 'B') goto yy678; + if (yych != 'b') goto yy186; +yy678: + YYDEBUG(678, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy679; + if (yych != 'l') goto yy186; +yy679: + YYDEBUG(679, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy680; if (yych != 'e') goto yy186; -yy657: - YYDEBUG(657, *YYCURSOR); +yy680: + YYDEBUG(680, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(658, *YYCURSOR); + YYDEBUG(681, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 975 "Zend/zend_language_scanner.l" +#line 1332 "Zend/zend_language_scanner.l" + { + return T_CALLABLE; +} +#line 6466 "Zend/zend_language_scanner.c" +yy682: + YYDEBUG(682, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 4) { + goto yy185; + } + YYDEBUG(683, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1118 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6128 "Zend/zend_language_scanner.c" -yy659: - YYDEBUG(659, *YYCURSOR); +#line 6479 "Zend/zend_language_scanner.c" +yy684: + YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy660; + if (yych == 'H') goto yy685; if (yych != 'h') goto yy186; -yy660: - YYDEBUG(660, *YYCURSOR); +yy685: + YYDEBUG(685, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(661, *YYCURSOR); + YYDEBUG(686, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 899 "Zend/zend_language_scanner.l" +#line 1042 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6146 "Zend/zend_language_scanner.c" -yy662: - YYDEBUG(662, *YYCURSOR); +#line 6497 "Zend/zend_language_scanner.c" +yy687: + YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy679; - if (yych == 'n') goto yy679; + if (yych == 'N') goto yy704; + if (yych == 'n') goto yy704; goto yy186; -yy663: - YYDEBUG(663, *YYCURSOR); +yy688: + YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy672; - if (yych == 'r') goto yy672; + if (yych == 'R') goto yy697; + if (yych == 'r') goto yy697; goto yy186; -yy664: - YYDEBUG(664, *YYCURSOR); +yy689: + YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy665; + if (yych == 'N') goto yy690; if (yych != 'n') goto yy186; -yy665: - YYDEBUG(665, *YYCURSOR); +yy690: + YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy666; + if (yych == 'C') goto yy691; if (yych != 'c') goto yy186; -yy666: - YYDEBUG(666, *YYCURSOR); +yy691: + YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy667; + if (yych == 'T') goto yy692; if (yych != 't') goto yy186; -yy667: - YYDEBUG(667, *YYCURSOR); +yy692: + YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy668; + if (yych == 'I') goto yy693; if (yych != 'i') goto yy186; -yy668: - YYDEBUG(668, *YYCURSOR); +yy693: + YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy669; + if (yych == 'O') goto yy694; if (yych != 'o') goto yy186; -yy669: - YYDEBUG(669, *YYCURSOR); +yy694: + YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy670; + if (yych == 'N') goto yy695; if (yych != 'n') goto yy186; -yy670: - YYDEBUG(670, *YYCURSOR); +yy695: + YYDEBUG(695, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(671, *YYCURSOR); + YYDEBUG(696, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 883 "Zend/zend_language_scanner.l" +#line 1026 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6201 "Zend/zend_language_scanner.c" -yy672: - YYDEBUG(672, *YYCURSOR); +#line 6552 "Zend/zend_language_scanner.c" +yy697: + YYDEBUG(697, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy673; + if (yych <= '/') goto yy698; if (yych <= '9') goto yy185; } else { - if (yych == 'E') goto yy674; + if (yych == 'E') goto yy699; if (yych <= 'Z') goto yy185; } } else { if (yych <= 'd') { if (yych != '`') goto yy185; } else { - if (yych <= 'e') goto yy674; + if (yych <= 'e') goto yy699; if (yych <= 'z') goto yy185; if (yych >= 0x7F) goto yy185; } } -yy673: - YYDEBUG(673, *YYCURSOR); +yy698: + YYDEBUG(698, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 935 "Zend/zend_language_scanner.l" +#line 1078 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6229 "Zend/zend_language_scanner.c" -yy674: - YYDEBUG(674, *YYCURSOR); +#line 6580 "Zend/zend_language_scanner.c" +yy699: + YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy675; + if (yych == 'A') goto yy700; if (yych != 'a') goto yy186; -yy675: - YYDEBUG(675, *YYCURSOR); +yy700: + YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy676; + if (yych == 'C') goto yy701; if (yych != 'c') goto yy186; -yy676: - YYDEBUG(676, *YYCURSOR); +yy701: + YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy677; + if (yych == 'H') goto yy702; if (yych != 'h') goto yy186; -yy677: - YYDEBUG(677, *YYCURSOR); +yy702: + YYDEBUG(702, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(678, *YYCURSOR); + YYDEBUG(703, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 943 "Zend/zend_language_scanner.l" +#line 1086 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6257 "Zend/zend_language_scanner.c" -yy679: - YYDEBUG(679, *YYCURSOR); +#line 6608 "Zend/zend_language_scanner.c" +yy704: + YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy680; + if (yych == 'A') goto yy705; if (yych != 'a') goto yy186; -yy680: - YYDEBUG(680, *YYCURSOR); +yy705: + YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy681; + if (yych == 'L') goto yy706; if (yych != 'l') goto yy186; -yy681: - YYDEBUG(681, *YYCURSOR); +yy706: + YYDEBUG(706, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(682, *YYCURSOR); + YYDEBUG(707, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1153 "Zend/zend_language_scanner.l" +#line 1300 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6280 "Zend/zend_language_scanner.c" -yy683: - YYDEBUG(683, *YYCURSOR); +#line 6631 "Zend/zend_language_scanner.c" +yy708: + YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { - if (yych == 'C') goto yy689; + if (yych == 'C') goto yy714; if (yych <= 'E') goto yy186; - goto yy690; + goto yy715; } else { if (yych <= 'c') { if (yych <= 'b') goto yy186; - goto yy689; + goto yy714; } else { - if (yych == 'f') goto yy690; + if (yych == 'f') goto yy715; goto yy186; } } -yy684: - YYDEBUG(684, *YYCURSOR); +yy709: + YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy687; - if (yych == 'e') goto yy687; + if (yych == 'E') goto yy712; + if (yych == 'e') goto yy712; goto yy186; -yy685: - YYDEBUG(685, *YYCURSOR); +yy710: + YYDEBUG(710, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(686, *YYCURSOR); + YYDEBUG(711, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 931 "Zend/zend_language_scanner.l" +#line 1074 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6315 "Zend/zend_language_scanner.c" -yy687: - YYDEBUG(687, *YYCURSOR); +#line 6666 "Zend/zend_language_scanner.c" +yy712: + YYDEBUG(712, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(688, *YYCURSOR); + YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 879 "Zend/zend_language_scanner.l" +#line 1022 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6328 "Zend/zend_language_scanner.c" -yy689: - YYDEBUG(689, *YYCURSOR); +#line 6679 "Zend/zend_language_scanner.c" +yy714: + YYDEBUG(714, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy696; - if (yych == 'l') goto yy696; + if (yych == 'L') goto yy721; + if (yych == 'l') goto yy721; goto yy186; -yy690: - YYDEBUG(690, *YYCURSOR); +yy715: + YYDEBUG(715, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy691; + if (yych == 'A') goto yy716; if (yych != 'a') goto yy186; -yy691: - YYDEBUG(691, *YYCURSOR); +yy716: + YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy692; + if (yych == 'U') goto yy717; if (yych != 'u') goto yy186; -yy692: - YYDEBUG(692, *YYCURSOR); +yy717: + YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy693; + if (yych == 'L') goto yy718; if (yych != 'l') goto yy186; -yy693: - YYDEBUG(693, *YYCURSOR); +yy718: + YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy694; + if (yych == 'T') goto yy719; if (yych != 't') goto yy186; -yy694: - YYDEBUG(694, *YYCURSOR); +yy719: + YYDEBUG(719, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(695, *YYCURSOR); + YYDEBUG(720, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 979 "Zend/zend_language_scanner.l" +#line 1122 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6367 "Zend/zend_language_scanner.c" -yy696: - YYDEBUG(696, *YYCURSOR); +#line 6718 "Zend/zend_language_scanner.c" +yy721: + YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy697; + if (yych == 'A') goto yy722; if (yych != 'a') goto yy186; -yy697: - YYDEBUG(697, *YYCURSOR); +yy722: + YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy698; + if (yych == 'R') goto yy723; if (yych != 'r') goto yy186; -yy698: - YYDEBUG(698, *YYCURSOR); +yy723: + YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy699; + if (yych == 'E') goto yy724; if (yych != 'e') goto yy186; -yy699: - YYDEBUG(699, *YYCURSOR); +yy724: + YYDEBUG(724, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(700, *YYCURSOR); + YYDEBUG(725, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 951 "Zend/zend_language_scanner.l" +#line 1094 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6395 "Zend/zend_language_scanner.c" -yy701: - YYDEBUG(701, *YYCURSOR); +#line 6746 "Zend/zend_language_scanner.c" +yy726: + YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy763; - if (yych == 'h') goto yy763; + if (yych == 'H') goto yy788; + if (yych == 'h') goto yy788; goto yy186; -yy702: - YYDEBUG(702, *YYCURSOR); +yy727: + YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy757; - if (yych == 's') goto yy757; + if (yych == 'S') goto yy782; + if (yych == 's') goto yy782; goto yy186; -yy703: - YYDEBUG(703, *YYCURSOR); +yy728: + YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy753; - if (yych == 'p') goto yy753; + if (yych == 'P') goto yy778; + if (yych == 'p') goto yy778; goto yy186; -yy704: - YYDEBUG(704, *YYCURSOR); +yy729: + YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy719; - if (yych == 'd') goto yy719; + if (yych == 'D') goto yy744; + if (yych == 'd') goto yy744; goto yy186; -yy705: - YYDEBUG(705, *YYCURSOR); +yy730: + YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy716; - if (yych == 'a') goto yy716; + if (yych == 'A') goto yy741; + if (yych == 'a') goto yy741; goto yy186; -yy706: - YYDEBUG(706, *YYCURSOR); +yy731: + YYDEBUG(731, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { - if (yych == 'I') goto yy707; + if (yych == 'I') goto yy732; if (yych <= 'S') goto yy186; - goto yy708; + goto yy733; } else { if (yych <= 'i') { if (yych <= 'h') goto yy186; } else { - if (yych == 't') goto yy708; + if (yych == 't') goto yy733; goto yy186; } } -yy707: - YYDEBUG(707, *YYCURSOR); +yy732: + YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy714; - if (yych == 't') goto yy714; + if (yych == 'T') goto yy739; + if (yych == 't') goto yy739; goto yy186; -yy708: - YYDEBUG(708, *YYCURSOR); +yy733: + YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy709; + if (yych == 'E') goto yy734; if (yych != 'e') goto yy186; -yy709: - YYDEBUG(709, *YYCURSOR); +yy734: + YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy710; + if (yych == 'N') goto yy735; if (yych != 'n') goto yy186; -yy710: - YYDEBUG(710, *YYCURSOR); +yy735: + YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy711; + if (yych == 'D') goto yy736; if (yych != 'd') goto yy186; -yy711: - YYDEBUG(711, *YYCURSOR); +yy736: + YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy712; + if (yych == 'S') goto yy737; if (yych != 's') goto yy186; -yy712: - YYDEBUG(712, *YYCURSOR); +yy737: + YYDEBUG(737, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(713, *YYCURSOR); + YYDEBUG(738, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1011 "Zend/zend_language_scanner.l" +#line 1158 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6479 "Zend/zend_language_scanner.c" -yy714: - YYDEBUG(714, *YYCURSOR); +#line 6830 "Zend/zend_language_scanner.c" +yy739: + YYDEBUG(739, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(715, *YYCURSOR); + YYDEBUG(740, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 875 "Zend/zend_language_scanner.l" +#line 1018 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6492 "Zend/zend_language_scanner.c" -yy716: - YYDEBUG(716, *YYCURSOR); +#line 6843 "Zend/zend_language_scanner.c" +yy741: + YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy717; + if (yych == 'L') goto yy742; if (yych != 'l') goto yy186; -yy717: - YYDEBUG(717, *YYCURSOR); +yy742: + YYDEBUG(742, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(718, *YYCURSOR); + YYDEBUG(743, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1101 "Zend/zend_language_scanner.l" +#line 1244 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6510 "Zend/zend_language_scanner.c" -yy719: - YYDEBUG(719, *YYCURSOR); +#line 6861 "Zend/zend_language_scanner.c" +yy744: + YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'D': - case 'd': goto yy720; + case 'd': goto yy745; case 'F': - case 'f': goto yy721; + case 'f': goto yy746; case 'I': - case 'i': goto yy722; + case 'i': goto yy747; case 'S': - case 's': goto yy723; + case 's': goto yy748; case 'W': - case 'w': goto yy724; + case 'w': goto yy749; default: goto yy186; } -yy720: - YYDEBUG(720, *YYCURSOR); +yy745: + YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy746; - if (yych == 'e') goto yy746; + if (yych == 'E') goto yy771; + if (yych == 'e') goto yy771; goto yy186; -yy721: - YYDEBUG(721, *YYCURSOR); +yy746: + YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy738; - if (yych == 'o') goto yy738; + if (yych == 'O') goto yy763; + if (yych == 'o') goto yy763; goto yy186; -yy722: - YYDEBUG(722, *YYCURSOR); +yy747: + YYDEBUG(747, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy736; - if (yych == 'f') goto yy736; + if (yych == 'F') goto yy761; + if (yych == 'f') goto yy761; goto yy186; -yy723: - YYDEBUG(723, *YYCURSOR); +yy748: + YYDEBUG(748, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'W') goto yy730; - if (yych == 'w') goto yy730; + if (yych == 'W') goto yy755; + if (yych == 'w') goto yy755; goto yy186; -yy724: - YYDEBUG(724, *YYCURSOR); +yy749: + YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy725; + if (yych == 'H') goto yy750; if (yych != 'h') goto yy186; -yy725: - YYDEBUG(725, *YYCURSOR); +yy750: + YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy726; + if (yych == 'I') goto yy751; if (yych != 'i') goto yy186; -yy726: - YYDEBUG(726, *YYCURSOR); +yy751: + YYDEBUG(751, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy727; + if (yych == 'L') goto yy752; if (yych != 'l') goto yy186; -yy727: - YYDEBUG(727, *YYCURSOR); +yy752: + YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy728; + if (yych == 'E') goto yy753; if (yych != 'e') goto yy186; -yy728: - YYDEBUG(728, *YYCURSOR); +yy753: + YYDEBUG(753, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(729, *YYCURSOR); + YYDEBUG(754, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 927 "Zend/zend_language_scanner.l" +#line 1070 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6584 "Zend/zend_language_scanner.c" -yy730: - YYDEBUG(730, *YYCURSOR); +#line 6935 "Zend/zend_language_scanner.c" +yy755: + YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy731; + if (yych == 'I') goto yy756; if (yych != 'i') goto yy186; -yy731: - YYDEBUG(731, *YYCURSOR); +yy756: + YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy732; + if (yych == 'T') goto yy757; if (yych != 't') goto yy186; -yy732: - YYDEBUG(732, *YYCURSOR); +yy757: + YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy733; + if (yych == 'C') goto yy758; if (yych != 'c') goto yy186; -yy733: - YYDEBUG(733, *YYCURSOR); +yy758: + YYDEBUG(758, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy734; + if (yych == 'H') goto yy759; if (yych != 'h') goto yy186; -yy734: - YYDEBUG(734, *YYCURSOR); +yy759: + YYDEBUG(759, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(735, *YYCURSOR); + YYDEBUG(760, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 971 "Zend/zend_language_scanner.l" +#line 1114 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6617 "Zend/zend_language_scanner.c" -yy736: - YYDEBUG(736, *YYCURSOR); +#line 6968 "Zend/zend_language_scanner.c" +yy761: + YYDEBUG(761, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(737, *YYCURSOR); + YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 915 "Zend/zend_language_scanner.l" +#line 1058 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6630 "Zend/zend_language_scanner.c" -yy738: - YYDEBUG(738, *YYCURSOR); +#line 6981 "Zend/zend_language_scanner.c" +yy763: + YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy739; + if (yych == 'R') goto yy764; if (yych != 'r') goto yy186; -yy739: - YYDEBUG(739, *YYCURSOR); +yy764: + YYDEBUG(764, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy740; + if (yych <= '/') goto yy765; if (yych <= '9') goto yy185; } else { - if (yych == 'E') goto yy741; + if (yych == 'E') goto yy766; if (yych <= 'Z') goto yy185; } } else { if (yych <= 'd') { if (yych != '`') goto yy185; } else { - if (yych <= 'e') goto yy741; + if (yych <= 'e') goto yy766; if (yych <= 'z') goto yy185; if (yych >= 0x7F) goto yy185; } } -yy740: - YYDEBUG(740, *YYCURSOR); +yy765: + YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 939 "Zend/zend_language_scanner.l" +#line 1082 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6663 "Zend/zend_language_scanner.c" -yy741: - YYDEBUG(741, *YYCURSOR); +#line 7014 "Zend/zend_language_scanner.c" +yy766: + YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy742; + if (yych == 'A') goto yy767; if (yych != 'a') goto yy186; -yy742: - YYDEBUG(742, *YYCURSOR); +yy767: + YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy743; + if (yych == 'C') goto yy768; if (yych != 'c') goto yy186; -yy743: - YYDEBUG(743, *YYCURSOR); +yy768: + YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy744; + if (yych == 'H') goto yy769; if (yych != 'h') goto yy186; -yy744: - YYDEBUG(744, *YYCURSOR); +yy769: + YYDEBUG(769, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(745, *YYCURSOR); + YYDEBUG(770, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 947 "Zend/zend_language_scanner.l" +#line 1090 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 6691 "Zend/zend_language_scanner.c" -yy746: - YYDEBUG(746, *YYCURSOR); +#line 7042 "Zend/zend_language_scanner.c" +yy771: + YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy747; + if (yych == 'C') goto yy772; if (yych != 'c') goto yy186; -yy747: - YYDEBUG(747, *YYCURSOR); +yy772: + YYDEBUG(772, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy748; + if (yych == 'L') goto yy773; if (yych != 'l') goto yy186; -yy748: - YYDEBUG(748, *YYCURSOR); +yy773: + YYDEBUG(773, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy749; + if (yych == 'A') goto yy774; if (yych != 'a') goto yy186; -yy749: - YYDEBUG(749, *YYCURSOR); +yy774: + YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy750; + if (yych == 'R') goto yy775; if (yych != 'r') goto yy186; -yy750: - YYDEBUG(750, *YYCURSOR); +yy775: + YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy751; + if (yych == 'E') goto yy776; if (yych != 'e') goto yy186; -yy751: - YYDEBUG(751, *YYCURSOR); +yy776: + YYDEBUG(776, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(752, *YYCURSOR); + YYDEBUG(777, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 955 "Zend/zend_language_scanner.l" +#line 1098 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 6729 "Zend/zend_language_scanner.c" -yy753: - YYDEBUG(753, *YYCURSOR); +#line 7080 "Zend/zend_language_scanner.c" +yy778: + YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy754; + if (yych == 'T') goto yy779; if (yych != 't') goto yy186; -yy754: - YYDEBUG(754, *YYCURSOR); +yy779: + YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy755; + if (yych == 'Y') goto yy780; if (yych != 'y') goto yy186; -yy755: - YYDEBUG(755, *YYCURSOR); +yy780: + YYDEBUG(780, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(756, *YYCURSOR); + YYDEBUG(781, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1137 "Zend/zend_language_scanner.l" +#line 1284 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 6752 "Zend/zend_language_scanner.c" -yy757: - YYDEBUG(757, *YYCURSOR); +#line 7103 "Zend/zend_language_scanner.c" +yy782: + YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy758; + if (yych == 'E') goto yy783; if (yych != 'e') goto yy186; -yy758: - YYDEBUG(758, *YYCURSOR); +yy783: + YYDEBUG(783, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '^') { if (yych <= '@') { - if (yych <= '/') goto yy759; + if (yych <= '/') goto yy784; if (yych <= '9') goto yy185; } else { - if (yych == 'I') goto yy760; + if (yych == 'I') goto yy785; if (yych <= 'Z') goto yy185; } } else { if (yych <= 'h') { if (yych != '`') goto yy185; } else { - if (yych <= 'i') goto yy760; + if (yych <= 'i') goto yy785; if (yych <= 'z') goto yy185; if (yych >= 0x7F) goto yy185; } } -yy759: - YYDEBUG(759, *YYCURSOR); +yy784: + YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 919 "Zend/zend_language_scanner.l" +#line 1062 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 6785 "Zend/zend_language_scanner.c" -yy760: - YYDEBUG(760, *YYCURSOR); +#line 7136 "Zend/zend_language_scanner.c" +yy785: + YYDEBUG(785, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy761; + if (yych == 'F') goto yy786; if (yych != 'f') goto yy186; -yy761: - YYDEBUG(761, *YYCURSOR); +yy786: + YYDEBUG(786, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(762, *YYCURSOR); + YYDEBUG(787, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 911 "Zend/zend_language_scanner.l" +#line 1054 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 6803 "Zend/zend_language_scanner.c" -yy763: - YYDEBUG(763, *YYCURSOR); +#line 7154 "Zend/zend_language_scanner.c" +yy788: + YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy764; + if (yych == 'O') goto yy789; if (yych != 'o') goto yy186; -yy764: - YYDEBUG(764, *YYCURSOR); +yy789: + YYDEBUG(789, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 8) { + if (yybm[0+(yych = *YYCURSOR)] & 4) { goto yy185; } - YYDEBUG(765, *YYCURSOR); + YYDEBUG(790, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 995 "Zend/zend_language_scanner.l" +#line 1138 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 6821 "Zend/zend_language_scanner.c" +#line 7172 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6856,41 +7207,41 @@ yyc_ST_LOOKING_FOR_PROPERTY: 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; - YYDEBUG(766, *YYCURSOR); + YYDEBUG(791, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych <= '\r') { - if (yych <= 0x08) goto yy774; - if (yych <= '\n') goto yy768; - if (yych <= '\f') goto yy774; + if (yych <= 0x08) goto yy799; + if (yych <= '\n') goto yy793; + if (yych <= '\f') goto yy799; } else { - if (yych == ' ') goto yy768; - if (yych <= ',') goto yy774; - goto yy770; + if (yych == ' ') goto yy793; + if (yych <= ',') goto yy799; + goto yy795; } } else { if (yych <= '_') { - if (yych <= '@') goto yy774; - if (yych <= 'Z') goto yy772; - if (yych <= '^') goto yy774; - goto yy772; + if (yych <= '@') goto yy799; + if (yych <= 'Z') goto yy797; + if (yych <= '^') goto yy799; + goto yy797; } else { - if (yych <= '`') goto yy774; - if (yych <= 'z') goto yy772; - if (yych <= '~') goto yy774; - goto yy772; + if (yych <= '`') goto yy799; + if (yych <= 'z') goto yy797; + if (yych <= '~') goto yy799; + goto yy797; } } -yy768: - YYDEBUG(768, *YYCURSOR); +yy793: + YYDEBUG(793, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy780; -yy769: - YYDEBUG(769, *YYCURSOR); + goto yy805; +yy794: + YYDEBUG(794, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1024 "Zend/zend_language_scanner.l" +#line 1171 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -6898,73 +7249,73 @@ yy769: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 6902 "Zend/zend_language_scanner.c" -yy770: - YYDEBUG(770, *YYCURSOR); +#line 7253 "Zend/zend_language_scanner.c" +yy795: + YYDEBUG(795, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy777; -yy771: - YYDEBUG(771, *YYCURSOR); + if ((yych = *YYCURSOR) == '>') goto yy802; +yy796: + YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1043 "Zend/zend_language_scanner.l" +#line 1190 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 6916 "Zend/zend_language_scanner.c" -yy772: - YYDEBUG(772, *YYCURSOR); +#line 7267 "Zend/zend_language_scanner.c" +yy797: + YYDEBUG(797, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy776; -yy773: - YYDEBUG(773, *YYCURSOR); + goto yy801; +yy798: + YYDEBUG(798, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1036 "Zend/zend_language_scanner.l" +#line 1183 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 6932 "Zend/zend_language_scanner.c" -yy774: - YYDEBUG(774, *YYCURSOR); +#line 7283 "Zend/zend_language_scanner.c" +yy799: + YYDEBUG(799, *YYCURSOR); yych = *++YYCURSOR; - goto yy771; -yy775: - YYDEBUG(775, *YYCURSOR); + goto yy796; +yy800: + YYDEBUG(800, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy776: - YYDEBUG(776, *YYCURSOR); +yy801: + YYDEBUG(801, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy775; + goto yy800; } - goto yy773; -yy777: - YYDEBUG(777, *YYCURSOR); + goto yy798; +yy802: + YYDEBUG(802, *YYCURSOR); ++YYCURSOR; - YYDEBUG(778, *YYCURSOR); + YYDEBUG(803, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1032 "Zend/zend_language_scanner.l" +#line 1179 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 6957 "Zend/zend_language_scanner.c" -yy779: - YYDEBUG(779, *YYCURSOR); +#line 7308 "Zend/zend_language_scanner.c" +yy804: + YYDEBUG(804, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy780: - YYDEBUG(780, *YYCURSOR); +yy805: + YYDEBUG(805, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy779; + goto yy804; } - goto yy769; + goto yy794; } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7003,27 +7354,27 @@ yyc_ST_LOOKING_FOR_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(781, *YYCURSOR); + YYDEBUG(806, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy785; - if (yych <= 'Z') goto yy783; - if (yych <= '^') goto yy785; + if (yych <= '@') goto yy810; + if (yych <= 'Z') goto yy808; + if (yych <= '^') goto yy810; } else { - if (yych <= '`') goto yy785; - if (yych <= 'z') goto yy783; - if (yych <= '~') goto yy785; + if (yych <= '`') goto yy810; + if (yych <= 'z') goto yy808; + if (yych <= '~') goto yy810; } -yy783: - YYDEBUG(783, *YYCURSOR); +yy808: + YYDEBUG(808, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy788; -yy784: - YYDEBUG(784, *YYCURSOR); + goto yy813; +yy809: + YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1315 "Zend/zend_language_scanner.l" +#line 1466 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -7031,42 +7382,42 @@ yy784: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7035 "Zend/zend_language_scanner.c" -yy785: - YYDEBUG(785, *YYCURSOR); +#line 7386 "Zend/zend_language_scanner.c" +yy810: + YYDEBUG(810, *YYCURSOR); ++YYCURSOR; - YYDEBUG(786, *YYCURSOR); + YYDEBUG(811, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1324 "Zend/zend_language_scanner.l" +#line 1475 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7048 "Zend/zend_language_scanner.c" -yy787: - YYDEBUG(787, *YYCURSOR); +#line 7399 "Zend/zend_language_scanner.c" +yy812: + YYDEBUG(812, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy788: - YYDEBUG(788, *YYCURSOR); +yy813: + YYDEBUG(813, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy787; + goto yy812; } - goto yy784; + goto yy809; } /* *********************************** */ yyc_ST_NOWDOC: - YYDEBUG(789, *YYCURSOR); + YYDEBUG(814, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(791, *YYCURSOR); + YYDEBUG(816, *YYCURSOR); ++YYCURSOR; - YYDEBUG(792, *YYCURSOR); + YYDEBUG(817, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2162 "Zend/zend_language_scanner.l" +#line 2357 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7121,7 +7472,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7125 "Zend/zend_language_scanner.c" +#line 7476 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7132,96 +7483,103 @@ yyc_ST_VAR_OFFSET: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 0, 0, 0, 0, 0, 0, - 0, 160, 160, 160, 160, 160, 160, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 0, 0, 0, 0, 32, - 0, 160, 160, 160, 160, 160, 160, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 0, 0, 0, 0, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, + 240, 240, 112, 112, 112, 112, 112, 112, + 112, 112, 0, 0, 0, 0, 0, 0, + 0, 80, 80, 80, 80, 80, 80, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 0, 0, 0, 0, 16, + 0, 80, 80, 80, 80, 80, 80, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 0, 0, 0, 0, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(793, *YYCURSOR); + YYDEBUG(818, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '/') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy807; - if (yych <= '\n') goto yy803; - goto yy807; + if (yych <= 0x08) goto yy832; + if (yych <= '\n') goto yy828; + goto yy832; } else { - if (yych <= '\r') goto yy803; - if (yych <= 0x1F) goto yy807; - goto yy803; + if (yych <= '\r') goto yy828; + if (yych <= 0x1F) goto yy832; + goto yy828; } } else { if (yych <= '$') { - if (yych <= '"') goto yy802; - if (yych <= '#') goto yy803; - goto yy798; + if (yych <= '"') goto yy827; + if (yych <= '#') goto yy828; + goto yy823; } else { - if (yych == '\'') goto yy803; - goto yy802; + if (yych == '\'') goto yy828; + goto yy827; } } } else { if (yych <= '\\') { if (yych <= '@') { - if (yych <= '0') goto yy795; - if (yych <= '9') goto yy797; - goto yy802; + if (yych <= '0') goto yy820; + if (yych <= '9') goto yy822; + goto yy827; } else { - if (yych <= 'Z') goto yy805; - if (yych <= '[') goto yy802; - goto yy803; + if (yych <= 'Z') goto yy830; + if (yych <= '[') goto yy827; + goto yy828; } } else { if (yych <= '_') { - if (yych <= ']') goto yy800; - if (yych <= '^') goto yy802; - goto yy805; + if (yych <= ']') goto yy825; + if (yych <= '^') goto yy827; + goto yy830; } else { - if (yych <= '`') goto yy802; - if (yych <= 'z') goto yy805; - if (yych <= '~') goto yy802; - goto yy805; + if (yych <= '`') goto yy827; + if (yych <= 'z') goto yy830; + if (yych <= '~') goto yy827; + goto yy830; } } } -yy795: - YYDEBUG(795, *YYCURSOR); +yy820: + YYDEBUG(820, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { - if (yych <= '/') goto yy796; - if (yych <= '9') goto yy818; + if (yych <= '9') { + if (yych >= '0') goto yy844; + } else { + if (yych == 'B') goto yy841; + } } else { - if (yych <= 'X') goto yy816; - if (yych == 'x') goto yy816; + if (yych <= 'b') { + if (yych <= 'X') goto yy843; + if (yych >= 'b') goto yy841; + } else { + if (yych == 'x') goto yy843; + } } -yy796: - YYDEBUG(796, *YYCURSOR); +yy821: + YYDEBUG(821, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1378 "Zend/zend_language_scanner.l" +#line 1553 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { zendlval->value.lval = strtol(yytext, NULL, 10); @@ -7233,81 +7591,81 @@ yy796: } return T_NUM_STRING; } -#line 7237 "Zend/zend_language_scanner.c" -yy797: - YYDEBUG(797, *YYCURSOR); +#line 7595 "Zend/zend_language_scanner.c" +yy822: + YYDEBUG(822, *YYCURSOR); yych = *++YYCURSOR; - goto yy815; -yy798: - YYDEBUG(798, *YYCURSOR); + goto yy840; +yy823: + YYDEBUG(823, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy799; - if (yych <= 'Z') goto yy811; - if (yych >= '_') goto yy811; + if (yych <= '@') goto yy824; + if (yych <= 'Z') goto yy836; + if (yych >= '_') goto yy836; } else { - if (yych <= '`') goto yy799; - if (yych <= 'z') goto yy811; - if (yych >= 0x7F) goto yy811; + if (yych <= '`') goto yy824; + if (yych <= 'z') goto yy836; + if (yych >= 0x7F) goto yy836; } -yy799: - YYDEBUG(799, *YYCURSOR); +yy824: + YYDEBUG(824, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1688 "Zend/zend_language_scanner.l" +#line 1885 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7262 "Zend/zend_language_scanner.c" -yy800: - YYDEBUG(800, *YYCURSOR); +#line 7620 "Zend/zend_language_scanner.c" +yy825: + YYDEBUG(825, *YYCURSOR); ++YYCURSOR; - YYDEBUG(801, *YYCURSOR); + YYDEBUG(826, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1683 "Zend/zend_language_scanner.l" +#line 1880 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7273 "Zend/zend_language_scanner.c" -yy802: - YYDEBUG(802, *YYCURSOR); +#line 7631 "Zend/zend_language_scanner.c" +yy827: + YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; - goto yy799; -yy803: - YYDEBUG(803, *YYCURSOR); + goto yy824; +yy828: + YYDEBUG(828, *YYCURSOR); ++YYCURSOR; - YYDEBUG(804, *YYCURSOR); + YYDEBUG(829, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1693 "Zend/zend_language_scanner.l" +#line 1890 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7290 "Zend/zend_language_scanner.c" -yy805: - YYDEBUG(805, *YYCURSOR); +#line 7648 "Zend/zend_language_scanner.c" +yy830: + YYDEBUG(830, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy810; -yy806: - YYDEBUG(806, *YYCURSOR); + goto yy835; +yy831: + YYDEBUG(831, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1700 "Zend/zend_language_scanner.l" +#line 1897 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 7305 "Zend/zend_language_scanner.c" -yy807: - YYDEBUG(807, *YYCURSOR); +#line 7663 "Zend/zend_language_scanner.c" +yy832: + YYDEBUG(832, *YYCURSOR); ++YYCURSOR; - YYDEBUG(808, *YYCURSOR); + YYDEBUG(833, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2218 "Zend/zend_language_scanner.l" +#line 2413 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7316,100 +7674,118 @@ yy807: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7320 "Zend/zend_language_scanner.c" -yy809: - YYDEBUG(809, *YYCURSOR); +#line 7678 "Zend/zend_language_scanner.c" +yy834: + YYDEBUG(834, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy810: - YYDEBUG(810, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy809; +yy835: + YYDEBUG(835, *YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy834; } - goto yy806; -yy811: - YYDEBUG(811, *YYCURSOR); + goto yy831; +yy836: + YYDEBUG(836, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(812, *YYCURSOR); + YYDEBUG(837, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy811; + if (yych >= '0') goto yy836; } else { - if (yych <= '@') goto yy813; - if (yych <= 'Z') goto yy811; + if (yych <= '@') goto yy838; + if (yych <= 'Z') goto yy836; } } else { if (yych <= '`') { - if (yych <= '_') goto yy811; + if (yych <= '_') goto yy836; } else { - if (yych <= 'z') goto yy811; - if (yych >= 0x7F) goto yy811; + if (yych <= 'z') goto yy836; + if (yych >= 0x7F) goto yy836; } } -yy813: - YYDEBUG(813, *YYCURSOR); +yy838: + YYDEBUG(838, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" +#line 1874 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 7362 "Zend/zend_language_scanner.c" -yy814: - YYDEBUG(814, *YYCURSOR); +#line 7720 "Zend/zend_language_scanner.c" +yy839: + YYDEBUG(839, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy815: - YYDEBUG(815, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy814; +yy840: + YYDEBUG(840, *YYCURSOR); + if (yybm[0+yych] & 32) { + goto yy839; } - goto yy796; -yy816: - YYDEBUG(816, *YYCURSOR); + goto yy821; +yy841: + YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 128) { - goto yy821; + goto yy849; } - YYDEBUG(817, *YYCURSOR); +yy842: + YYDEBUG(842, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy796; -yy818: - YYDEBUG(818, *YYCURSOR); + goto yy821; +yy843: + YYDEBUG(843, *YYCURSOR); + yych = *++YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy847; + } + goto yy842; +yy844: + YYDEBUG(844, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(819, *YYCURSOR); - if (yych <= '/') goto yy820; - if (yych <= '9') goto yy818; -yy820: - YYDEBUG(820, *YYCURSOR); + YYDEBUG(845, *YYCURSOR); + if (yych <= '/') goto yy846; + if (yych <= '9') goto yy844; +yy846: + YYDEBUG(846, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1390 "Zend/zend_language_scanner.l" +#line 1565 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } -#line 7401 "Zend/zend_language_scanner.c" -yy821: - YYDEBUG(821, *YYCURSOR); +#line 7767 "Zend/zend_language_scanner.c" +yy847: + YYDEBUG(847, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(822, *YYCURSOR); + YYDEBUG(848, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy847; + } + goto yy846; +yy849: + YYDEBUG(849, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(850, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy821; + goto yy849; } - goto yy820; + goto yy846; } } -#line 2227 "Zend/zend_language_scanner.l" +#line 2422 "Zend/zend_language_scanner.l" } |