-/* Generated by re2c 0.13.5 */\r
-#line 1 "Zend/zend_language_scanner.l"\r
-/*\r
- +----------------------------------------------------------------------+\r
- | Zend Engine |\r
- +----------------------------------------------------------------------+\r
- | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |\r
- +----------------------------------------------------------------------+\r
- | This source file is subject to version 2.00 of the Zend license, |\r
- | that is bundled with this package in the file LICENSE, and is |\r
- | available through the world-wide-web at the following url: |\r
- | http://www.zend.com/license/2_00.txt. |\r
- | If you did not receive a copy of the Zend license and are unable to |\r
- | obtain it through the world-wide-web, please send a note to |\r
- | license@zend.com so we can mail you a copy immediately. |\r
- +----------------------------------------------------------------------+\r
- | Authors: Marcus Boerger <helly@php.net> |\r
- | Nuno Lopes <nlopess@php.net> |\r
- | Scott MacVicar <scottmac@php.net> |\r
- | Flex version authors: |\r
- | Andi Gutmans <andi@zend.com> |\r
- | Zeev Suraski <zeev@zend.com> |\r
- +----------------------------------------------------------------------+\r
-*/\r
-\r
-/* $Id$ */\r
-\r
-#if 0\r
-# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)\r
-#else\r
-# define YYDEBUG(s, c)\r
-#endif\r
-\r
-#include "zend_language_scanner_defs.h"\r
-\r
-#include <errno.h>\r
-#include "zend.h"\r
-#ifdef PHP_WIN32\r
-# include <Winuser.h>\r
-#endif\r
-#include "zend_alloc.h"\r
-#include <zend_language_parser.h>\r
-#include "zend_compile.h"\r
-#include "zend_language_scanner.h"\r
-#include "zend_highlight.h"\r
-#include "zend_constants.h"\r
-#include "zend_variables.h"\r
-#include "zend_operators.h"\r
-#include "zend_API.h"\r
-#include "zend_strtod.h"\r
-#include "zend_exceptions.h"\r
-#include "zend_virtual_cwd.h"\r
-#include "tsrm_config_common.h"\r
-\r
-#define YYCTYPE unsigned char\r
-#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }\r
-#define YYCURSOR SCNG(yy_cursor)\r
-#define YYLIMIT SCNG(yy_limit)\r
-#define YYMARKER SCNG(yy_marker)\r
-\r
-#define YYGETCONDITION() SCNG(yy_state)\r
-#define YYSETCONDITION(s) SCNG(yy_state) = s\r
-\r
-#define STATE(name) yyc##name\r
-\r
-/* emulate flex constructs */\r
-#define BEGIN(state) YYSETCONDITION(STATE(state))\r
-#define YYSTATE YYGETCONDITION()\r
-#define yytext ((char*)SCNG(yy_text))\r
-#define yyleng SCNG(yy_leng)\r
-#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \\r
- yyleng = (unsigned int)x; } while(0)\r
-#define yymore() goto yymore_restart\r
-\r
-/* perform sanity check. If this message is triggered you should\r
- increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */\r
-#define YYMAXFILL 16\r
-#if ZEND_MMAP_AHEAD < YYMAXFILL\r
-# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL\r
-#endif\r
-\r
-#ifdef HAVE_STDARG_H\r
-# include <stdarg.h>\r
-#endif\r
-\r
-#ifdef HAVE_UNISTD_H\r
-# include <unistd.h>\r
-#endif\r
-\r
-/* Globals Macros */\r
-#define SCNG LANG_SCNG\r
-#ifdef ZTS\r
-ZEND_API ts_rsrc_id language_scanner_globals_id;\r
-#else\r
-ZEND_API zend_php_scanner_globals language_scanner_globals;\r
-#endif\r
-\r
-#define HANDLE_NEWLINES(s, l) \\r
-do { \\r
- char *p = (s), *boundary = p+(l); \\r
- \\r
- while (p<boundary) { \\r
- if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \\r
- CG(zend_lineno)++; \\r
- } \\r
- p++; \\r
- } \\r
-} while (0)\r
-\r
-#define HANDLE_NEWLINE(c) \\r
-{ \\r
- if (c == '\n' || c == '\r') { \\r
- CG(zend_lineno)++; \\r
- } \\r
-}\r
-\r
-/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */\r
-#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len)\r
-#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_len)\r
-\r
-#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F)\r
-\r
-#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')\r
-#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))\r
-\r
-BEGIN_EXTERN_C()\r
-\r
-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)\r
-{\r
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);\r
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));\r
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC);\r
-}\r
-\r
-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)\r
-{\r
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC);\r
-}\r
-\r
-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)\r
-{\r
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,\r
-LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC);\r
-}\r
-\r
-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)\r
-{\r
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);\r
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));\r
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,\r
-internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC);\r
-}\r
-\r
-\r
-static void _yy_push_state(int new_state TSRMLS_DC)\r
-{\r
- zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));\r
- YYSETCONDITION(new_state);\r
-}\r
-\r
-#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)\r
-\r
-static void yy_pop_state(TSRMLS_D)\r
-{\r
- int *stack_state;\r
- zend_stack_top(&SCNG(state_stack), (void **) &stack_state);\r
- YYSETCONDITION(*stack_state);\r
- zend_stack_del_top(&SCNG(state_stack));\r
-}\r
-\r
-static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)\r
-{\r
- YYCURSOR = (YYCTYPE*)str;\r
- YYLIMIT = YYCURSOR + len;\r
- if (!SCNG(yy_start)) {\r
- SCNG(yy_start) = YYCURSOR;\r
- }\r
-}\r
-\r
-void startup_scanner(TSRMLS_D)\r
-{\r
- CG(parse_error) = 0;\r
- CG(doc_comment) = NULL;\r
- CG(doc_comment_len) = 0;\r
- zend_stack_init(&SCNG(state_stack));\r
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));\r
-}\r
-\r
-static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {\r
- efree(heredoc_label->label);\r
-}\r
-\r
-void shutdown_scanner(TSRMLS_D)\r
-{\r
- CG(parse_error) = 0;\r
- RESET_DOC_COMMENT();\r
- zend_stack_destroy(&SCNG(state_stack));\r
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);\r
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));\r
-}\r
-\r
-ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)\r
-{\r
- lex_state->yy_leng = SCNG(yy_leng);\r
- lex_state->yy_start = SCNG(yy_start);\r
- lex_state->yy_text = SCNG(yy_text);\r
- lex_state->yy_cursor = SCNG(yy_cursor);\r
- lex_state->yy_marker = SCNG(yy_marker);\r
- lex_state->yy_limit = SCNG(yy_limit);\r
-\r
- lex_state->state_stack = SCNG(state_stack);\r
- zend_stack_init(&SCNG(state_stack));\r
-\r
- lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);\r
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));\r
-\r
- lex_state->in = SCNG(yy_in);\r
- lex_state->yy_state = YYSTATE;\r
- lex_state->filename = zend_get_compiled_filename(TSRMLS_C);\r
- lex_state->lineno = CG(zend_lineno);\r
-\r
- lex_state->script_org = SCNG(script_org);\r
- lex_state->script_org_size = SCNG(script_org_size);\r
- lex_state->script_filtered = SCNG(script_filtered);\r
- lex_state->script_filtered_size = SCNG(script_filtered_size);\r
- lex_state->input_filter = SCNG(input_filter);\r
- lex_state->output_filter = SCNG(output_filter);\r
- lex_state->script_encoding = SCNG(script_encoding);\r
-}\r
-\r
-ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)\r
-{\r
- SCNG(yy_leng) = lex_state->yy_leng;\r
- SCNG(yy_start) = lex_state->yy_start;\r
- SCNG(yy_text) = lex_state->yy_text;\r
- SCNG(yy_cursor) = lex_state->yy_cursor;\r
- SCNG(yy_marker) = lex_state->yy_marker;\r
- SCNG(yy_limit) = lex_state->yy_limit;\r
-\r
- zend_stack_destroy(&SCNG(state_stack));\r
- SCNG(state_stack) = lex_state->state_stack;\r
-\r
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);\r
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));\r
- SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;\r
-\r
- SCNG(yy_in) = lex_state->in;\r
- YYSETCONDITION(lex_state->yy_state);\r
- CG(zend_lineno) = lex_state->lineno;\r
- zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);\r
-\r
- if (SCNG(script_filtered)) {\r
- efree(SCNG(script_filtered));\r
- SCNG(script_filtered) = NULL;\r
- }\r
- SCNG(script_org) = lex_state->script_org;\r
- SCNG(script_org_size) = lex_state->script_org_size;\r
- SCNG(script_filtered) = lex_state->script_filtered;\r
- SCNG(script_filtered_size) = lex_state->script_filtered_size;\r
- SCNG(input_filter) = lex_state->input_filter;\r
- SCNG(output_filter) = lex_state->output_filter;\r
- SCNG(script_encoding) = lex_state->script_encoding;\r
-\r
- RESET_DOC_COMMENT();\r
-}\r
-\r
-ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)\r
-{\r
- zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);\r
- /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */\r
- file_handle->opened_path = NULL;\r
- if (file_handle->free_filename) {\r
- file_handle->filename = NULL;\r
- }\r
-}\r
-\r
-#define BOM_UTF32_BE "\x00\x00\xfe\xff"\r
-#define BOM_UTF32_LE "\xff\xfe\x00\x00"\r
-#define BOM_UTF16_BE "\xfe\xff"\r
-#define BOM_UTF16_LE "\xff\xfe"\r
-#define BOM_UTF8 "\xef\xbb\xbf"\r
-\r
-static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC)\r
-{\r
- const unsigned char *p;\r
- int wchar_size = 2;\r
- int le = 0;\r
-\r
- /* utf-16 or utf-32? */\r
- p = script;\r
- while ((p-script) < script_size) {\r
- p = memchr(p, 0, script_size-(p-script)-2);\r
- if (!p) {\r
- break;\r
- }\r
- if (*(p+1) == '\0' && *(p+2) == '\0') {\r
- wchar_size = 4;\r
- break;\r
- }\r
-\r
- /* searching for UTF-32 specific byte orders, so this will do */\r
- p += 4;\r
- }\r
-\r
- /* BE or LE? */\r
- p = script;\r
- while ((p-script) < script_size) {\r
- if (*p == '\0' && *(p+wchar_size-1) != '\0') {\r
- /* BE */\r
- le = 0;\r
- break;\r
- } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {\r
- /* LE* */\r
- le = 1;\r
- break;\r
- }\r
- p += wchar_size;\r
- }\r
-\r
- if (wchar_size == 2) {\r
- return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;\r
- } else {\r
- return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;\r
- }\r
-\r
- return NULL;\r
-}\r
-\r
-static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D)\r
-{\r
- const zend_encoding *script_encoding = NULL;\r
- int bom_size;\r
- unsigned char *pos1, *pos2;\r
-\r
- if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {\r
- return NULL;\r
- }\r
-\r
- /* check out BOM */\r
- if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {\r
- script_encoding = zend_multibyte_encoding_utf32be;\r
- bom_size = sizeof(BOM_UTF32_BE)-1;\r
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {\r
- script_encoding = zend_multibyte_encoding_utf32le;\r
- bom_size = sizeof(BOM_UTF32_LE)-1;\r
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {\r
- script_encoding = zend_multibyte_encoding_utf16be;\r
- bom_size = sizeof(BOM_UTF16_BE)-1;\r
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {\r
- script_encoding = zend_multibyte_encoding_utf16le;\r
- bom_size = sizeof(BOM_UTF16_LE)-1;\r
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {\r
- script_encoding = zend_multibyte_encoding_utf8;\r
- bom_size = sizeof(BOM_UTF8)-1;\r
- }\r
-\r
- if (script_encoding) {\r
- /* remove BOM */\r
- LANG_SCNG(script_org) += bom_size;\r
- LANG_SCNG(script_org_size) -= bom_size;\r
-\r
- return script_encoding;\r
- }\r
-\r
- /* script contains NULL bytes -> auto-detection */\r
- if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {\r
- /* check if the NULL byte is after the __HALT_COMPILER(); */\r
- pos2 = LANG_SCNG(script_org);\r
-\r
- while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) {\r
- pos2 = memchr(pos2, '_', pos1 - pos2);\r
- if (!pos2) break;\r
- pos2++;\r
- if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {\r
- pos2 += sizeof("_HALT_COMPILER")-1;\r
- while (*pos2 == ' ' ||\r
- *pos2 == '\t' ||\r
- *pos2 == '\r' ||\r
- *pos2 == '\n') {\r
- pos2++;\r
- }\r
- if (*pos2 == '(') {\r
- pos2++;\r
- while (*pos2 == ' ' ||\r
- *pos2 == '\t' ||\r
- *pos2 == '\r' ||\r
- *pos2 == '\n') {\r
- pos2++;\r
- }\r
- if (*pos2 == ')') {\r
- pos2++;\r
- while (*pos2 == ' ' ||\r
- *pos2 == '\t' ||\r
- *pos2 == '\r' ||\r
- *pos2 == '\n') {\r
- pos2++;\r
- }\r
- if (*pos2 == ';') {\r
- return NULL;\r
- }\r
- }\r
- }\r
- }\r
- }\r
- /* make best effort if BOM is missing */\r
- return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC);\r
- }\r
-\r
- return NULL;\r
-}\r
-\r
-static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D)\r
-{\r
- const zend_encoding *script_encoding;\r
-\r
- if (CG(detect_unicode)) {\r
- /* check out bom(byte order mark) and see if containing wchars */\r
- script_encoding = zend_multibyte_detect_unicode(TSRMLS_C);\r
- if (script_encoding != NULL) {\r
- /* bom or wchar detection is prior to 'script_encoding' option */\r
- return script_encoding;\r
- }\r
- }\r
-\r
- /* if no script_encoding specified, just leave alone */\r
- if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {\r
- return NULL;\r
- }\r
-\r
- /* if multiple encodings specified, detect automagically */\r
- if (CG(script_encoding_list_size) > 1) {\r
- 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);\r
- }\r
-\r
- return CG(script_encoding_list)[0];\r
-}\r
-\r
-ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC)\r
-{\r
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);\r
- const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C);\r
-\r
- if (!script_encoding) {\r
- return FAILURE;\r
- }\r
-\r
- /* judge input/output filter */\r
- LANG_SCNG(script_encoding) = script_encoding;\r
- LANG_SCNG(input_filter) = NULL;\r
- LANG_SCNG(output_filter) = NULL;\r
-\r
- if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {\r
- if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {\r
- /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */\r
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;\r
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;\r
- } else {\r
- LANG_SCNG(input_filter) = NULL;\r
- LANG_SCNG(output_filter) = NULL;\r
- }\r
- return SUCCESS;\r
- }\r
-\r
- if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {\r
- LANG_SCNG(input_filter) = encoding_filter_script_to_internal;\r
- LANG_SCNG(output_filter) = NULL;\r
- } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {\r
- LANG_SCNG(input_filter) = NULL;\r
- LANG_SCNG(output_filter) = encoding_filter_script_to_internal;\r
- } else {\r
- /* both script and internal encodings are incompatible w/ flex */\r
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;\r
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;\r
- }\r
-\r
- return 0;\r
-}\r
-\r
-ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)\r
-{\r
- const char *file_path = NULL;\r
- char *buf;\r
- size_t size, offset = 0;\r
-\r
- /* The shebang line was read, get the current position to obtain the buffer start */\r
- if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {\r
- if ((offset = ftell(file_handle->handle.fp)) == -1) {\r
- offset = 0;\r
- }\r
- }\r
-\r
- if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) {\r
- return FAILURE;\r
- }\r
-\r
- zend_llist_add_element(&CG(open_files), file_handle);\r
- if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) {\r
- zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files));\r
- size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle;\r
- fh->handle.stream.handle = (void*)(((char*)fh) + diff);\r
- file_handle->handle.stream.handle = fh->handle.stream.handle;\r
- }\r
-\r
- /* Reset the scanner for scanning the new file */\r
- SCNG(yy_in) = file_handle;\r
- SCNG(yy_start) = NULL;\r
-\r
- if (size != -1) {\r
- if (CG(multibyte)) {\r
- SCNG(script_org) = (unsigned char*)buf;\r
- SCNG(script_org_size) = size;\r
- SCNG(script_filtered) = NULL;\r
-\r
- zend_multibyte_set_filter(NULL TSRMLS_CC);\r
-\r
- if (SCNG(input_filter)) {\r
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {\r
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "\r
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));\r
- }\r
- buf = (char*)SCNG(script_filtered);\r
- size = SCNG(script_filtered_size);\r
- }\r
- }\r
- SCNG(yy_start) = (unsigned char *)buf - offset;\r
- yy_scan_buffer(buf, size TSRMLS_CC);\r
- } else {\r
- zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");\r
- }\r
-\r
- BEGIN(INITIAL);\r
-\r
- if (file_handle->opened_path) {\r
- file_path = file_handle->opened_path;\r
- } else {\r
- file_path = file_handle->filename;\r
- }\r
-\r
- zend_set_compiled_filename(file_path TSRMLS_CC);\r
-\r
- if (CG(start_lineno)) {\r
- CG(zend_lineno) = CG(start_lineno);\r
- CG(start_lineno) = 0;\r
- } else {\r
- CG(zend_lineno) = 1;\r
- }\r
-\r
- RESET_DOC_COMMENT();\r
- CG(increment_lineno) = 0;\r
- return SUCCESS;\r
-}\r
-END_EXTERN_C()\r
-\r
-\r
-ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)\r
-{\r
- zend_lex_state original_lex_state;\r
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));\r
- zend_op_array *original_active_op_array = CG(active_op_array);\r
- zend_op_array *retval=NULL;\r
- int compiler_result;\r
- zend_bool compilation_successful=0;\r
- znode retval_znode;\r
- zend_bool original_in_compilation = CG(in_compilation);\r
-\r
- retval_znode.op_type = IS_CONST;\r
- INIT_PZVAL(&retval_znode.u.constant);\r
- ZVAL_LONG(&retval_znode.u.constant, 1);\r
-\r
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);\r
-\r
- retval = op_array; /* success oriented */\r
-\r
- if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {\r
- if (type==ZEND_REQUIRE) {\r
- zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);\r
- zend_bailout();\r
- } else {\r
- zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);\r
- }\r
- compilation_successful=0;\r
- } else {\r
- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);\r
- CG(in_compilation) = 1;\r
- CG(active_op_array) = op_array;\r
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));\r
- zend_init_compiler_context(TSRMLS_C);\r
- compiler_result = zendparse(TSRMLS_C);\r
- zend_do_return(&retval_znode, 0 TSRMLS_CC);\r
- CG(in_compilation) = original_in_compilation;\r
- if (compiler_result != 0) { /* parser error */\r
- zend_bailout();\r
- }\r
- compilation_successful=1;\r
- }\r
-\r
- if (retval) {\r
- CG(active_op_array) = original_active_op_array;\r
- if (compilation_successful) {\r
- pass_two(op_array TSRMLS_CC);\r
- zend_release_labels(0 TSRMLS_CC);\r
- } else {\r
- efree(op_array);\r
- retval = NULL;\r
- }\r
- }\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- return retval;\r
-}\r
-\r
-\r
-zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)\r
-{\r
- zend_file_handle file_handle;\r
- zval tmp;\r
- zend_op_array *retval;\r
- char *opened_path = NULL;\r
-\r
- if (filename->type != IS_STRING) {\r
- tmp = *filename;\r
- zval_copy_ctor(&tmp);\r
- convert_to_string(&tmp);\r
- filename = &tmp;\r
- }\r
- file_handle.filename = Z_STRVAL_P(filename);\r
- file_handle.free_filename = 0;\r
- file_handle.type = ZEND_HANDLE_FILENAME;\r
- file_handle.opened_path = NULL;\r
- file_handle.handle.fp = NULL;\r
-\r
- retval = zend_compile_file(&file_handle, type TSRMLS_CC);\r
- if (retval && file_handle.handle.stream.handle) {\r
- int dummy = 1;\r
-\r
- if (!file_handle.opened_path) {\r
- file_handle.opened_path = opened_path = estrndup(Z_STRVAL_P(filename), Z_STRLEN_P(filename));\r
- }\r
-\r
- zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);\r
-\r
- if (opened_path) {\r
- efree(opened_path);\r
- }\r
- }\r
- zend_destroy_file_handle(&file_handle TSRMLS_CC);\r
-\r
- if (filename==&tmp) {\r
- zval_dtor(&tmp);\r
- }\r
- return retval;\r
-}\r
-\r
-ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)\r
-{\r
- char *buf;\r
- size_t size;\r
-\r
- /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */\r
- Z_STRVAL_P(str) = str_erealloc(Z_STRVAL_P(str), Z_STRLEN_P(str) + ZEND_MMAP_AHEAD);\r
- memset(Z_STRVAL_P(str) + Z_STRLEN_P(str), 0, ZEND_MMAP_AHEAD);\r
-\r
- SCNG(yy_in) = NULL;\r
- SCNG(yy_start) = NULL;\r
-\r
- buf = Z_STRVAL_P(str);\r
- size = Z_STRLEN_P(str);\r
-\r
- if (CG(multibyte)) {\r
- SCNG(script_org) = (unsigned char*)buf;\r
- SCNG(script_org_size) = size;\r
- SCNG(script_filtered) = NULL;\r
-\r
- zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC);\r
-\r
- if (SCNG(input_filter)) {\r
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {\r
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "\r
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));\r
- }\r
- buf = (char*)SCNG(script_filtered);\r
- size = SCNG(script_filtered_size);\r
- }\r
- }\r
-\r
- yy_scan_buffer(buf, size TSRMLS_CC);\r
-\r
- zend_set_compiled_filename(filename TSRMLS_CC);\r
- CG(zend_lineno) = 1;\r
- CG(increment_lineno) = 0;\r
- RESET_DOC_COMMENT();\r
- return SUCCESS;\r
-}\r
-\r
-\r
-ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)\r
-{\r
- size_t offset = SCNG(yy_cursor) - SCNG(yy_start);\r
- if (SCNG(input_filter)) {\r
- size_t original_offset = offset, length = 0;\r
- do {\r
- unsigned char *p = NULL;\r
- if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) {\r
- return (size_t)-1;\r
- }\r
- efree(p);\r
- if (length > original_offset) {\r
- offset--;\r
- } else if (length < original_offset) {\r
- offset++;\r
- }\r
- } while (original_offset != length);\r
- }\r
- return offset;\r
-}\r
-\r
-\r
-zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)\r
-{\r
- zend_lex_state original_lex_state;\r
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));\r
- zend_op_array *original_active_op_array = CG(active_op_array);\r
- zend_op_array *retval;\r
- zval tmp;\r
- int compiler_result;\r
- zend_bool original_in_compilation = CG(in_compilation);\r
-\r
- if (Z_STRLEN_P(source_string)==0) {\r
- efree(op_array);\r
- return NULL;\r
- }\r
-\r
- CG(in_compilation) = 1;\r
-\r
- tmp = *source_string;\r
- zval_copy_ctor(&tmp);\r
- convert_to_string(&tmp);\r
- source_string = &tmp;\r
-\r
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);\r
- if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {\r
- efree(op_array);\r
- retval = NULL;\r
- } else {\r
- zend_bool orig_interactive = CG(interactive);\r
-\r
- CG(interactive) = 0;\r
- init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);\r
- CG(interactive) = orig_interactive;\r
- CG(active_op_array) = op_array;\r
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));\r
- zend_init_compiler_context(TSRMLS_C);\r
- BEGIN(ST_IN_SCRIPTING);\r
- compiler_result = zendparse(TSRMLS_C);\r
-\r
- if (SCNG(script_filtered)) {\r
- efree(SCNG(script_filtered));\r
- SCNG(script_filtered) = NULL;\r
- }\r
-\r
- if (compiler_result != 0) {\r
- CG(active_op_array) = original_active_op_array;\r
- CG(unclean_shutdown)=1;\r
- destroy_op_array(op_array TSRMLS_CC);\r
- efree(op_array);\r
- retval = NULL;\r
- } else {\r
- zend_do_return(NULL, 0 TSRMLS_CC);\r
- CG(active_op_array) = original_active_op_array;\r
- pass_two(op_array TSRMLS_CC);\r
- zend_release_labels(0 TSRMLS_CC);\r
- retval = op_array;\r
- }\r
- }\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- zval_dtor(&tmp);\r
- CG(in_compilation) = original_in_compilation;\r
- return retval;\r
-}\r
-\r
-\r
-BEGIN_EXTERN_C()\r
-int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)\r
-{\r
- zend_lex_state original_lex_state;\r
- zend_file_handle file_handle;\r
-\r
- file_handle.type = ZEND_HANDLE_FILENAME;\r
- file_handle.filename = filename;\r
- file_handle.free_filename = 0;\r
- file_handle.opened_path = NULL;\r
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);\r
- if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {\r
- zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC);\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- return FAILURE;\r
- }\r
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);\r
- if (SCNG(script_filtered)) {\r
- efree(SCNG(script_filtered));\r
- SCNG(script_filtered) = NULL;\r
- }\r
- zend_destroy_file_handle(&file_handle TSRMLS_CC);\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- return SUCCESS;\r
-}\r
-\r
-int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)\r
-{\r
- zend_lex_state original_lex_state;\r
- zval tmp = *str;\r
-\r
- str = &tmp;\r
- zval_copy_ctor(str);\r
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);\r
- if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- return FAILURE;\r
- }\r
- BEGIN(INITIAL);\r
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);\r
- if (SCNG(script_filtered)) {\r
- efree(SCNG(script_filtered));\r
- SCNG(script_filtered) = NULL;\r
- }\r
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
- zval_dtor(str);\r
- return SUCCESS;\r
-}\r
-\r
-ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC)\r
-{\r
- size_t length;\r
- unsigned char *new_yy_start;\r
-\r
- /* convert and set */\r
- if (!SCNG(input_filter)) {\r
- if (SCNG(script_filtered)) {\r
- efree(SCNG(script_filtered));\r
- SCNG(script_filtered) = NULL;\r
- }\r
- SCNG(script_filtered_size) = 0;\r
- length = SCNG(script_org_size);\r
- new_yy_start = SCNG(script_org);\r
- } else {\r
- if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {\r
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "\r
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));\r
- }\r
- SCNG(script_filtered) = new_yy_start;\r
- SCNG(script_filtered_size) = length;\r
- }\r
-\r
- SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));\r
- SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));\r
- SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));\r
- SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start));\r
-\r
- SCNG(yy_start) = new_yy_start;\r
-}\r
-\r
-\r
-# define zend_copy_value(zendlval, yytext, yyleng) \\r
- if (SCNG(output_filter)) { \\r
- size_t sz = 0; \\r
- SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \\r
- Z_STRLEN_P(zendlval) = sz; \\r
- } else { \\r
- Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng); \\r
- Z_STRLEN_P(zendlval) = yyleng; \\r
- }\r
-\r
-static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)\r
-{\r
- register char *s, *t;\r
- char *end;\r
-\r
- ZVAL_STRINGL(zendlval, str, len, 1);\r
-\r
- /* convert escape sequences */\r
- s = t = Z_STRVAL_P(zendlval);\r
- end = s+Z_STRLEN_P(zendlval);\r
- while (s<end) {\r
- if (*s=='\\') {\r
- s++;\r
- if (s >= end) {\r
- *t++ = '\\';\r
- break;\r
- }\r
-\r
- switch(*s) {\r
- case 'n':\r
- *t++ = '\n';\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 'r':\r
- *t++ = '\r';\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 't':\r
- *t++ = '\t';\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 'f':\r
- *t++ = '\f';\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 'v':\r
- *t++ = '\v';\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 'e':\r
-#ifdef PHP_WIN32\r
- *t++ = VK_ESCAPE;\r
-#else\r
- *t++ = '\e';\r
-#endif\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case '"':\r
- case '`':\r
- if (*s != quote_type) {\r
- *t++ = '\\';\r
- *t++ = *s;\r
- break;\r
- }\r
- case '\\':\r
- case '$':\r
- *t++ = *s;\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- case 'x':\r
- case 'X':\r
- if (ZEND_IS_HEX(*(s+1))) {\r
- char hex_buf[3] = { 0, 0, 0 };\r
-\r
- Z_STRLEN_P(zendlval)--; /* for the 'x' */\r
-\r
- hex_buf[0] = *(++s);\r
- Z_STRLEN_P(zendlval)--;\r
- if (ZEND_IS_HEX(*(s+1))) {\r
- hex_buf[1] = *(++s);\r
- Z_STRLEN_P(zendlval)--;\r
- }\r
- *t++ = (char) strtol(hex_buf, NULL, 16);\r
- } else {\r
- *t++ = '\\';\r
- *t++ = *s;\r
- }\r
- break;\r
- default:\r
- /* check for an octal */\r
- if (ZEND_IS_OCT(*s)) {\r
- char octal_buf[4] = { 0, 0, 0, 0 };\r
-\r
- octal_buf[0] = *s;\r
- Z_STRLEN_P(zendlval)--;\r
- if (ZEND_IS_OCT(*(s+1))) {\r
- octal_buf[1] = *(++s);\r
- Z_STRLEN_P(zendlval)--;\r
- if (ZEND_IS_OCT(*(s+1))) {\r
- octal_buf[2] = *(++s);\r
- Z_STRLEN_P(zendlval)--;\r
- }\r
- }\r
- *t++ = (char) strtol(octal_buf, NULL, 8);\r
- } else {\r
- *t++ = '\\';\r
- *t++ = *s;\r
- }\r
- break;\r
- }\r
- } else {\r
- *t++ = *s;\r
- }\r
-\r
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {\r
- CG(zend_lineno)++;\r
- }\r
- s++;\r
- }\r
- *t = 0;\r
- if (SCNG(output_filter)) {\r
- size_t sz = 0;\r
- s = Z_STRVAL_P(zendlval);\r
- SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);\r
- Z_STRLEN_P(zendlval) = sz;\r
- efree(s);\r
- }\r
-}\r
-\r
-\r
-int lex_scan(zval *zendlval TSRMLS_DC)\r
-{\r
-restart:\r
- SCNG(yy_text) = YYCURSOR;\r
-\r
-yymore_restart:\r
-\r
-\r
-#line 1001 "Zend/zend_language_scanner.c"\r
-{\r
- YYCTYPE yych;\r
- unsigned int yyaccept = 0;\r
- if (YYGETCONDITION() < 5) {\r
- if (YYGETCONDITION() < 2) {\r
- if (YYGETCONDITION() < 1) {\r
- goto yyc_ST_IN_SCRIPTING;\r
- } else {\r
- goto yyc_ST_LOOKING_FOR_PROPERTY;\r
- }\r
- } else {\r
- if (YYGETCONDITION() < 3) {\r
- goto yyc_ST_BACKQUOTE;\r
- } else {\r
- if (YYGETCONDITION() < 4) {\r
- goto yyc_ST_DOUBLE_QUOTES;\r
- } else {\r
- goto yyc_ST_HEREDOC;\r
- }\r
- }\r
- }\r
- } else {\r
- if (YYGETCONDITION() < 7) {\r
- if (YYGETCONDITION() < 6) {\r
- goto yyc_ST_LOOKING_FOR_VARNAME;\r
- } else {\r
- goto yyc_ST_VAR_OFFSET;\r
- }\r
- } else {\r
- if (YYGETCONDITION() < 8) {\r
- goto yyc_INITIAL;\r
- } else {\r
- if (YYGETCONDITION() < 9) {\r
- goto yyc_ST_END_HEREDOC;\r
- } else {\r
- goto yyc_ST_NOWDOC;\r
- }\r
- }\r
- }\r
- }\r
-/* *********************************** */\r
-yyc_INITIAL:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 0, 0, 128, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- };\r
-\r
- YYDEBUG(0, *YYCURSOR);\r
- YYFILL(8);\r
- yych = *YYCURSOR;\r
- if (yych != '<') goto yy4;\r
- YYDEBUG(2, *YYCURSOR);\r
- yyaccept = 0;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= '?') {\r
- if (yych == '%') goto yy7;\r
- if (yych >= '?') goto yy5;\r
- } else {\r
- if (yych <= 'S') {\r
- if (yych >= 'S') goto yy9;\r
- } else {\r
- if (yych == 's') goto yy9;\r
- }\r
- }\r
-yy3:\r
- YYDEBUG(3, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1749 "Zend/zend_language_scanner.l"\r
- {\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
-\r
-inline_char_handler:\r
-\r
- while (1) {\r
- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);\r
-\r
- YYCURSOR = ptr ? ptr + 1 : YYLIMIT;\r
-\r
- if (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR) {\r
- case '?':\r
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */\r
- break;\r
- }\r
- continue;\r
- case '%':\r
- if (CG(asp_tags)) {\r
- break;\r
- }\r
- continue;\r
- case 's':\r
- case 'S':\r
- /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet\r
- * If it is, the PHP <script> tag rule checks for any HTML scanned before it */\r
- YYCURSOR--;\r
- yymore();\r
- default:\r
- continue;\r
- }\r
-\r
- YYCURSOR--;\r
- }\r
-\r
- break;\r
- }\r
-\r
-inline_html:\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- if (SCNG(output_filter)) {\r
- int readsize;\r
- size_t sz = 0;\r
- readsize = SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);\r
- Z_STRLEN_P(zendlval) = sz;\r
- if (readsize < yyleng) {\r
- yyless(readsize);\r
- }\r
- } else {\r
- Z_STRVAL_P(zendlval) = (char *) estrndup(yytext, yyleng);\r
- Z_STRLEN_P(zendlval) = yyleng;\r
- }\r
- zendlval->type = IS_STRING;\r
- HANDLE_NEWLINES(yytext, yyleng);\r
- return T_INLINE_HTML;\r
-}\r
-#line 1160 "Zend/zend_language_scanner.c"\r
-yy4:\r
- YYDEBUG(4, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy3;\r
-yy5:\r
- YYDEBUG(5, *YYCURSOR);\r
- yyaccept = 1;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= 'O') {\r
- if (yych == '=') goto yy45;\r
- } else {\r
- if (yych <= 'P') goto yy47;\r
- if (yych == 'p') goto yy47;\r
- }\r
-yy6:\r
- YYDEBUG(6, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1739 "Zend/zend_language_scanner.l"\r
- {\r
- if (CG(short_tags)) {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG;\r
- } else {\r
- goto inline_char_handler;\r
- }\r
-}\r
-#line 1188 "Zend/zend_language_scanner.c"\r
-yy7:\r
- YYDEBUG(7, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '=') goto yy43;\r
- YYDEBUG(8, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1720 "Zend/zend_language_scanner.l"\r
- {\r
- if (CG(asp_tags)) {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG;\r
- } else {\r
- goto inline_char_handler;\r
- }\r
-}\r
-#line 1205 "Zend/zend_language_scanner.c"\r
-yy9:\r
- YYDEBUG(9, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy11;\r
- if (yych == 'c') goto yy11;\r
-yy10:\r
- YYDEBUG(10, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- if (yyaccept <= 0) {\r
- goto yy3;\r
- } else {\r
- goto yy6;\r
- }\r
-yy11:\r
- YYDEBUG(11, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy12;\r
- if (yych != 'r') goto yy10;\r
-yy12:\r
- YYDEBUG(12, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy13;\r
- if (yych != 'i') goto yy10;\r
-yy13:\r
- YYDEBUG(13, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy14;\r
- if (yych != 'p') goto yy10;\r
-yy14:\r
- YYDEBUG(14, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy15;\r
- if (yych != 't') goto yy10;\r
-yy15:\r
- YYDEBUG(15, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy10;\r
- if (yych == 'l') goto yy10;\r
- goto yy17;\r
-yy16:\r
- YYDEBUG(16, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(8);\r
- yych = *YYCURSOR;\r
-yy17:\r
- YYDEBUG(17, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy16;\r
- }\r
- if (yych == 'L') goto yy18;\r
- if (yych != 'l') goto yy10;\r
-yy18:\r
- YYDEBUG(18, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy19;\r
- if (yych != 'a') goto yy10;\r
-yy19:\r
- YYDEBUG(19, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy20;\r
- if (yych != 'n') goto yy10;\r
-yy20:\r
- YYDEBUG(20, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'G') goto yy21;\r
- if (yych != 'g') goto yy10;\r
-yy21:\r
- YYDEBUG(21, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy22;\r
- if (yych != 'u') goto yy10;\r
-yy22:\r
- YYDEBUG(22, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy23;\r
- if (yych != 'a') goto yy10;\r
-yy23:\r
- YYDEBUG(23, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'G') goto yy24;\r
- if (yych != 'g') goto yy10;\r
-yy24:\r
- YYDEBUG(24, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy25;\r
- if (yych != 'e') goto yy10;\r
-yy25:\r
- YYDEBUG(25, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(26, *YYCURSOR);\r
- if (yych <= '\r') {\r
- if (yych <= 0x08) goto yy10;\r
- if (yych <= '\n') goto yy25;\r
- if (yych <= '\f') goto yy10;\r
- goto yy25;\r
- } else {\r
- if (yych <= ' ') {\r
- if (yych <= 0x1F) goto yy10;\r
- goto yy25;\r
- } else {\r
- if (yych != '=') goto yy10;\r
- }\r
- }\r
-yy27:\r
- YYDEBUG(27, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(5);\r
- yych = *YYCURSOR;\r
- YYDEBUG(28, *YYCURSOR);\r
- if (yych <= '!') {\r
- if (yych <= '\f') {\r
- if (yych <= 0x08) goto yy10;\r
- if (yych <= '\n') goto yy27;\r
- goto yy10;\r
- } else {\r
- if (yych <= '\r') goto yy27;\r
- if (yych == ' ') goto yy27;\r
- goto yy10;\r
- }\r
- } else {\r
- if (yych <= 'O') {\r
- if (yych <= '"') goto yy30;\r
- if (yych == '\'') goto yy31;\r
- goto yy10;\r
- } else {\r
- if (yych <= 'P') goto yy29;\r
- if (yych != 'p') goto yy10;\r
- }\r
- }\r
-yy29:\r
- YYDEBUG(29, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy42;\r
- if (yych == 'h') goto yy42;\r
- goto yy10;\r
-yy30:\r
- YYDEBUG(30, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy39;\r
- if (yych == 'p') goto yy39;\r
- goto yy10;\r
-yy31:\r
- YYDEBUG(31, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy32;\r
- if (yych != 'p') goto yy10;\r
-yy32:\r
- YYDEBUG(32, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy33;\r
- if (yych != 'h') goto yy10;\r
-yy33:\r
- YYDEBUG(33, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy34;\r
- if (yych != 'p') goto yy10;\r
-yy34:\r
- YYDEBUG(34, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '\'') goto yy10;\r
-yy35:\r
- YYDEBUG(35, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(36, *YYCURSOR);\r
- if (yych <= '\r') {\r
- if (yych <= 0x08) goto yy10;\r
- if (yych <= '\n') goto yy35;\r
- if (yych <= '\f') goto yy10;\r
- goto yy35;\r
- } else {\r
- if (yych <= ' ') {\r
- if (yych <= 0x1F) goto yy10;\r
- goto yy35;\r
- } else {\r
- if (yych != '>') goto yy10;\r
- }\r
- }\r
- YYDEBUG(37, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(38, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1686 "Zend/zend_language_scanner.l"\r
- {\r
- YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));\r
-\r
- if (bracket != SCNG(yy_text)) {\r
- /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */\r
- YYCURSOR = bracket;\r
- goto inline_html;\r
- }\r
-\r
- HANDLE_NEWLINES(yytext, yyleng);\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG;\r
-}\r
-#line 1406 "Zend/zend_language_scanner.c"\r
-yy39:\r
- YYDEBUG(39, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy40;\r
- if (yych != 'h') goto yy10;\r
-yy40:\r
- YYDEBUG(40, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy41;\r
- if (yych != 'p') goto yy10;\r
-yy41:\r
- YYDEBUG(41, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '"') goto yy35;\r
- goto yy10;\r
-yy42:\r
- YYDEBUG(42, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy35;\r
- if (yych == 'p') goto yy35;\r
- goto yy10;\r
-yy43:\r
- YYDEBUG(43, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(44, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1702 "Zend/zend_language_scanner.l"\r
- {\r
- if (CG(asp_tags)) {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG_WITH_ECHO;\r
- } else {\r
- goto inline_char_handler;\r
- }\r
-}\r
-#line 1443 "Zend/zend_language_scanner.c"\r
-yy45:\r
- YYDEBUG(45, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(46, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1713 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG_WITH_ECHO;\r
-}\r
-#line 1455 "Zend/zend_language_scanner.c"\r
-yy47:\r
- YYDEBUG(47, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy48;\r
- if (yych != 'h') goto yy10;\r
-yy48:\r
- YYDEBUG(48, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy49;\r
- if (yych != 'p') goto yy10;\r
-yy49:\r
- YYDEBUG(49, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '\f') {\r
- if (yych <= 0x08) goto yy10;\r
- if (yych >= '\v') goto yy10;\r
- } else {\r
- if (yych <= '\r') goto yy52;\r
- if (yych != ' ') goto yy10;\r
- }\r
-yy50:\r
- YYDEBUG(50, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy51:\r
- YYDEBUG(51, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1731 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- HANDLE_NEWLINE(yytext[yyleng-1]);\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_OPEN_TAG;\r
-}\r
-#line 1489 "Zend/zend_language_scanner.c"\r
-yy52:\r
- YYDEBUG(52, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '\n') goto yy50;\r
- goto yy51;\r
- }\r
-/* *********************************** */\r
-yyc_ST_BACKQUOTE:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- };\r
- YYDEBUG(53, *YYCURSOR);\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych != '$') goto yy60;\r
- } else {\r
- if (yych <= '`') goto yy58;\r
- if (yych == '{') goto yy57;\r
- goto yy60;\r
- }\r
- YYDEBUG(55, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '_') {\r
- if (yych <= '@') goto yy56;\r
- if (yych <= 'Z') goto yy63;\r
- if (yych >= '_') goto yy63;\r
- } else {\r
- if (yych <= 'z') {\r
- if (yych >= 'a') goto yy63;\r
- } else {\r
- if (yych <= '{') goto yy66;\r
- if (yych >= 0x7F) goto yy63;\r
- }\r
- }\r
-yy56:\r
- YYDEBUG(56, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2194 "Zend/zend_language_scanner.l"\r
- {\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '`':\r
- break;\r
- case '$':\r
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {\r
- break;\r
- }\r
- continue;\r
- case '{':\r
- if (*YYCURSOR == '$') {\r
- break;\r
- }\r
- continue;\r
- case '\\':\r
- if (YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
-\r
- YYCURSOR--;\r
- break;\r
- }\r
-\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);\r
- return T_ENCAPSED_AND_WHITESPACE;\r
-}\r
-#line 1601 "Zend/zend_language_scanner.c"\r
-yy57:\r
- YYDEBUG(57, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '$') goto yy61;\r
- goto yy56;\r
-yy58:\r
- YYDEBUG(58, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(59, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2138 "Zend/zend_language_scanner.l"\r
- {\r
- BEGIN(ST_IN_SCRIPTING);\r
- return '`';\r
-}\r
-#line 1617 "Zend/zend_language_scanner.c"\r
-yy60:\r
- YYDEBUG(60, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy56;\r
-yy61:\r
- YYDEBUG(61, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(62, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2125 "Zend/zend_language_scanner.l"\r
- {\r
- Z_LVAL_P(zendlval) = (long) '{';\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- yyless(1);\r
- return T_CURLY_OPEN;\r
-}\r
-#line 1634 "Zend/zend_language_scanner.c"\r
-yy63:\r
- YYDEBUG(63, *YYCURSOR);\r
- yyaccept = 0;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(64, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy63;\r
- }\r
- if (yych == '-') goto yy68;\r
- if (yych == '[') goto yy70;\r
-yy65:\r
- YYDEBUG(65, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1831 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1656 "Zend/zend_language_scanner.c"\r
-yy66:\r
- YYDEBUG(66, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(67, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1465 "Zend/zend_language_scanner.l"\r
- {\r
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);\r
- return T_DOLLAR_OPEN_CURLY_BRACES;\r
-}\r
-#line 1667 "Zend/zend_language_scanner.c"\r
-yy68:\r
- YYDEBUG(68, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '>') goto yy72;\r
-yy69:\r
- YYDEBUG(69, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- goto yy65;\r
-yy70:\r
- YYDEBUG(70, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(71, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1823 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 1);\r
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1689 "Zend/zend_language_scanner.c"\r
-yy72:\r
- YYDEBUG(72, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy69;\r
- if (yych <= 'Z') goto yy73;\r
- if (yych <= '^') goto yy69;\r
- } else {\r
- if (yych <= '`') goto yy69;\r
- if (yych <= 'z') goto yy73;\r
- if (yych <= '~') goto yy69;\r
- }\r
-yy73:\r
- YYDEBUG(73, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(74, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1813 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 3);\r
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1715 "Zend/zend_language_scanner.c"\r
- }\r
-/* *********************************** */\r
-yyc_ST_DOUBLE_QUOTES:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- };\r
- YYDEBUG(75, *YYCURSOR);\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- if (yych <= '#') {\r
- if (yych == '"') goto yy80;\r
- goto yy82;\r
- } else {\r
- if (yych <= '$') goto yy77;\r
- if (yych == '{') goto yy79;\r
- goto yy82;\r
- }\r
-yy77:\r
- YYDEBUG(77, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '_') {\r
- if (yych <= '@') goto yy78;\r
- if (yych <= 'Z') goto yy85;\r
- if (yych >= '_') goto yy85;\r
- } else {\r
- if (yych <= 'z') {\r
- if (yych >= 'a') goto yy85;\r
- } else {\r
- if (yych <= '{') goto yy88;\r
- if (yych >= 0x7F) goto yy85;\r
- }\r
- }\r
-yy78:\r
- YYDEBUG(78, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2144 "Zend/zend_language_scanner.l"\r
- {\r
- if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {\r
- YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;\r
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);\r
-\r
- goto double_quotes_scan_done;\r
- }\r
-\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '"':\r
- break;\r
- case '$':\r
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {\r
- break;\r
- }\r
- continue;\r
- case '{':\r
- if (*YYCURSOR == '$') {\r
- break;\r
- }\r
- continue;\r
- case '\\':\r
- if (YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
-\r
- YYCURSOR--;\r
- break;\r
- }\r
-\r
-double_quotes_scan_done:\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);\r
- return T_ENCAPSED_AND_WHITESPACE;\r
-}\r
-#line 1832 "Zend/zend_language_scanner.c"\r
-yy79:\r
- YYDEBUG(79, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '$') goto yy83;\r
- goto yy78;\r
-yy80:\r
- YYDEBUG(80, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(81, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2133 "Zend/zend_language_scanner.l"\r
- {\r
- BEGIN(ST_IN_SCRIPTING);\r
- return '"';\r
-}\r
-#line 1848 "Zend/zend_language_scanner.c"\r
-yy82:\r
- YYDEBUG(82, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy78;\r
-yy83:\r
- YYDEBUG(83, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(84, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2125 "Zend/zend_language_scanner.l"\r
- {\r
- Z_LVAL_P(zendlval) = (long) '{';\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- yyless(1);\r
- return T_CURLY_OPEN;\r
-}\r
-#line 1865 "Zend/zend_language_scanner.c"\r
-yy85:\r
- YYDEBUG(85, *YYCURSOR);\r
- yyaccept = 0;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(86, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy85;\r
- }\r
- if (yych == '-') goto yy90;\r
- if (yych == '[') goto yy92;\r
-yy87:\r
- YYDEBUG(87, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1831 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1887 "Zend/zend_language_scanner.c"\r
-yy88:\r
- YYDEBUG(88, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(89, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1465 "Zend/zend_language_scanner.l"\r
- {\r
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);\r
- return T_DOLLAR_OPEN_CURLY_BRACES;\r
-}\r
-#line 1898 "Zend/zend_language_scanner.c"\r
-yy90:\r
- YYDEBUG(90, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '>') goto yy94;\r
-yy91:\r
- YYDEBUG(91, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- goto yy87;\r
-yy92:\r
- YYDEBUG(92, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(93, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1823 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 1);\r
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1920 "Zend/zend_language_scanner.c"\r
-yy94:\r
- YYDEBUG(94, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy91;\r
- if (yych <= 'Z') goto yy95;\r
- if (yych <= '^') goto yy91;\r
- } else {\r
- if (yych <= '`') goto yy91;\r
- if (yych <= 'z') goto yy95;\r
- if (yych <= '~') goto yy91;\r
- }\r
-yy95:\r
- YYDEBUG(95, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(96, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1813 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 3);\r
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 1946 "Zend/zend_language_scanner.c"\r
- }\r
-/* *********************************** */\r
-yyc_ST_END_HEREDOC:\r
- YYDEBUG(97, *YYCURSOR);\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(99, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(100, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2111 "Zend/zend_language_scanner.l"\r
- {\r
- zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));\r
-\r
- YYCURSOR += heredoc_label->length - 1;\r
- yyleng = heredoc_label->length;\r
-\r
- heredoc_label_dtor(heredoc_label);\r
- efree(heredoc_label);\r
-\r
- BEGIN(ST_IN_SCRIPTING);\r
- return T_END_HEREDOC;\r
-}\r
-#line 1970 "Zend/zend_language_scanner.c"\r
-/* *********************************** */\r
-yyc_ST_HEREDOC:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- };\r
- YYDEBUG(101, *YYCURSOR);\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- if (yych == '$') goto yy103;\r
- if (yych == '{') goto yy105;\r
- goto yy106;\r
-yy103:\r
- YYDEBUG(103, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '_') {\r
- if (yych <= '@') goto yy104;\r
- if (yych <= 'Z') goto yy109;\r
- if (yych >= '_') goto yy109;\r
- } else {\r
- if (yych <= 'z') {\r
- if (yych >= 'a') goto yy109;\r
- } else {\r
- if (yych <= '{') goto yy112;\r
- if (yych >= 0x7F) goto yy109;\r
- }\r
- }\r
-yy104:\r
- YYDEBUG(104, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2236 "Zend/zend_language_scanner.l"\r
- {\r
- int newline = 0;\r
-\r
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));\r
-\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
-\r
- YYCURSOR--;\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '\r':\r
- if (*YYCURSOR == '\n') {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- case '\n':\r
- /* Check for ending label on the next line */\r
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {\r
- YYCTYPE *end = YYCURSOR + heredoc_label->length;\r
-\r
- if (*end == ';') {\r
- end++;\r
- }\r
-\r
- if (*end == '\n' || *end == '\r') {\r
- /* newline before label will be subtracted from returned text, but\r
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */\r
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {\r
- newline = 2; /* Windows newline */\r
- } else {\r
- newline = 1;\r
- }\r
-\r
- CG(increment_lineno) = 1; /* For newline before label */\r
- BEGIN(ST_END_HEREDOC);\r
-\r
- goto heredoc_scan_done;\r
- }\r
- }\r
- continue;\r
- case '$':\r
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {\r
- break;\r
- }\r
- continue;\r
- case '{':\r
- if (*YYCURSOR == '$') {\r
- break;\r
- }\r
- continue;\r
- case '\\':\r
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
-\r
- YYCURSOR--;\r
- break;\r
- }\r
-\r
-heredoc_scan_done:\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);\r
- return T_ENCAPSED_AND_WHITESPACE;\r
-}\r
-#line 2105 "Zend/zend_language_scanner.c"\r
-yy105:\r
- YYDEBUG(105, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '$') goto yy107;\r
- goto yy104;\r
-yy106:\r
- YYDEBUG(106, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy104;\r
-yy107:\r
- YYDEBUG(107, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(108, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2125 "Zend/zend_language_scanner.l"\r
- {\r
- Z_LVAL_P(zendlval) = (long) '{';\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- yyless(1);\r
- return T_CURLY_OPEN;\r
-}\r
-#line 2127 "Zend/zend_language_scanner.c"\r
-yy109:\r
- YYDEBUG(109, *YYCURSOR);\r
- yyaccept = 0;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(110, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy109;\r
- }\r
- if (yych == '-') goto yy114;\r
- if (yych == '[') goto yy116;\r
-yy111:\r
- YYDEBUG(111, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1831 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 2149 "Zend/zend_language_scanner.c"\r
-yy112:\r
- YYDEBUG(112, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(113, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1465 "Zend/zend_language_scanner.l"\r
- {\r
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);\r
- return T_DOLLAR_OPEN_CURLY_BRACES;\r
-}\r
-#line 2160 "Zend/zend_language_scanner.c"\r
-yy114:\r
- YYDEBUG(114, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '>') goto yy118;\r
-yy115:\r
- YYDEBUG(115, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- goto yy111;\r
-yy116:\r
- YYDEBUG(116, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(117, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1823 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 1);\r
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 2182 "Zend/zend_language_scanner.c"\r
-yy118:\r
- YYDEBUG(118, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy115;\r
- if (yych <= 'Z') goto yy119;\r
- if (yych <= '^') goto yy115;\r
- } else {\r
- if (yych <= '`') goto yy115;\r
- if (yych <= 'z') goto yy119;\r
- if (yych <= '~') goto yy115;\r
- }\r
-yy119:\r
- YYDEBUG(119, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(120, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1813 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 3);\r
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 2208 "Zend/zend_language_scanner.c"\r
- }\r
-/* *********************************** */\r
-yyc_ST_IN_SCRIPTING:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 192, 64, 0, 0, 64, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 192, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 60, 60, 44, 44, 44, 44, 44, 44, \r
- 44, 44, 0, 0, 0, 0, 0, 0, \r
- 0, 36, 36, 36, 36, 36, 36, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 0, 0, 0, 0, 4, \r
- 0, 36, 36, 36, 36, 36, 36, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 0, 0, 0, 0, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- 4, 4, 4, 4, 4, 4, 4, 4, \r
- };\r
- YYDEBUG(121, *YYCURSOR);\r
- YYFILL(16);\r
- yych = *YYCURSOR;\r
- YYDEBUG(-1, yych);\r
- switch (yych) {\r
- case 0x00:\r
- case 0x01:\r
- case 0x02:\r
- case 0x03:\r
- case 0x04:\r
- case 0x05:\r
- case 0x06:\r
- case 0x07:\r
- case 0x08:\r
- case '\v':\r
- case '\f':\r
- case 0x0E:\r
- case 0x0F:\r
- case 0x10:\r
- case 0x11:\r
- case 0x12:\r
- case 0x13:\r
- case 0x14:\r
- case 0x15:\r
- case 0x16:\r
- case 0x17:\r
- case 0x18:\r
- case 0x19:\r
- case 0x1A:\r
- case 0x1B:\r
- case 0x1C:\r
- case 0x1D:\r
- case 0x1E:\r
- case 0x1F: goto yy184;\r
- case '\t':\r
- case '\n':\r
- case '\r':\r
- case ' ': goto yy140;\r
- case '!': goto yy154;\r
- case '"': goto yy180;\r
- case '#': goto yy176;\r
- case '$': goto yy165;\r
- case '%': goto yy159;\r
- case '&': goto yy160;\r
- case '\'': goto yy178;\r
- case '(': goto yy148;\r
- case ')':\r
- case ',':\r
- case ';':\r
- case '@':\r
- case '[':\r
- case ']':\r
- case '~': goto yy166;\r
- case '*': goto yy157;\r
- case '+': goto yy153;\r
- case '-': goto yy138;\r
- case '.': goto yy145;\r
- case '/': goto yy158;\r
- case '0': goto yy172;\r
- case '1':\r
- case '2':\r
- case '3':\r
- case '4':\r
- case '5':\r
- case '6':\r
- case '7':\r
- case '8':\r
- case '9': goto yy174;\r
- case ':': goto yy142;\r
- case '<': goto yy155;\r
- case '=': goto yy151;\r
- case '>': goto yy156;\r
- case '?': goto yy167;\r
- case 'A':\r
- case 'a': goto yy133;\r
- case 'B':\r
- case 'b': goto yy135;\r
- case 'C':\r
- case 'c': goto yy127;\r
- case 'D':\r
- case 'd': goto yy125;\r
- case 'E':\r
- case 'e': goto yy123;\r
- case 'F':\r
- case 'f': goto yy126;\r
- case 'G':\r
- case 'g': goto yy136;\r
- case 'I':\r
- case 'i': goto yy131;\r
- case 'L':\r
- case 'l': goto yy152;\r
- case 'N':\r
- case 'n': goto yy146;\r
- case 'O':\r
- case 'o': goto yy163;\r
- case 'P':\r
- case 'p': goto yy137;\r
- case 'R':\r
- case 'r': goto yy128;\r
- case 'S':\r
- case 's': goto yy134;\r
- case 'T':\r
- case 't': goto yy130;\r
- case 'U':\r
- case 'u': goto yy149;\r
- case 'V':\r
- case 'v': goto yy147;\r
- case 'W':\r
- case 'w': goto yy132;\r
- case 'X':\r
- case 'x': goto yy164;\r
- case 'Y':\r
- case 'y': goto yy129;\r
- case '\\': goto yy143;\r
- case '^': goto yy162;\r
- case '_': goto yy150;\r
- case '`': goto yy182;\r
- case '{': goto yy168;\r
- case '|': goto yy161;\r
- case '}': goto yy170;\r
- default: goto yy175;\r
- }\r
-yy123:\r
- YYDEBUG(123, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(-1, yych);\r
- switch ((yych = *YYCURSOR)) {\r
- case 'C':\r
- case 'c': goto yy742;\r
- case 'L':\r
- case 'l': goto yy743;\r
- case 'M':\r
- case 'm': goto yy744;\r
- case 'N':\r
- case 'n': goto yy745;\r
- case 'V':\r
- case 'v': goto yy746;\r
- case 'X':\r
- case 'x': goto yy747;\r
- default: goto yy187;\r
- }\r
-yy124:\r
- YYDEBUG(124, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1854 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, yytext, yyleng);\r
- zendlval->type = IS_STRING;\r
- return T_STRING;\r
-}\r
-#line 2397 "Zend/zend_language_scanner.c"\r
-yy125:\r
- YYDEBUG(125, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych <= 'H') {\r
- if (yych == 'E') goto yy724;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'I') goto yy725;\r
- if (yych <= 'N') goto yy187;\r
- goto yy726;\r
- }\r
- } else {\r
- if (yych <= 'h') {\r
- if (yych == 'e') goto yy724;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'i') goto yy725;\r
- if (yych == 'o') goto yy726;\r
- goto yy187;\r
- }\r
- }\r
-yy126:\r
- YYDEBUG(126, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'U') {\r
- if (yych <= 'N') {\r
- if (yych == 'I') goto yy700;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'O') goto yy701;\r
- if (yych <= 'T') goto yy187;\r
- goto yy702;\r
- }\r
- } else {\r
- if (yych <= 'n') {\r
- if (yych == 'i') goto yy700;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'o') goto yy701;\r
- if (yych == 'u') goto yy702;\r
- goto yy187;\r
- }\r
- }\r
-yy127:\r
- YYDEBUG(127, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych <= 'K') {\r
- if (yych == 'A') goto yy665;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'L') goto yy666;\r
- if (yych <= 'N') goto yy187;\r
- goto yy667;\r
- }\r
- } else {\r
- if (yych <= 'k') {\r
- if (yych == 'a') goto yy665;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'l') goto yy666;\r
- if (yych == 'o') goto yy667;\r
- goto yy187;\r
- }\r
- }\r
-yy128:\r
- YYDEBUG(128, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy647;\r
- if (yych == 'e') goto yy647;\r
- goto yy187;\r
-yy129:\r
- YYDEBUG(129, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy642;\r
- if (yych == 'i') goto yy642;\r
- goto yy187;\r
-yy130:\r
- YYDEBUG(130, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'R') {\r
- if (yych == 'H') goto yy630;\r
- if (yych <= 'Q') goto yy187;\r
- goto yy631;\r
- } else {\r
- if (yych <= 'h') {\r
- if (yych <= 'g') goto yy187;\r
- goto yy630;\r
- } else {\r
- if (yych == 'r') goto yy631;\r
- goto yy187;\r
- }\r
- }\r
-yy131:\r
- YYDEBUG(131, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'S') {\r
- if (yych <= 'L') {\r
- if (yych == 'F') goto yy577;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'M') goto yy579;\r
- if (yych <= 'N') goto yy580;\r
- if (yych <= 'R') goto yy187;\r
- goto yy581;\r
- }\r
- } else {\r
- if (yych <= 'm') {\r
- if (yych == 'f') goto yy577;\r
- if (yych <= 'l') goto yy187;\r
- goto yy579;\r
- } else {\r
- if (yych <= 'n') goto yy580;\r
- if (yych == 's') goto yy581;\r
- goto yy187;\r
- }\r
- }\r
-yy132:\r
- YYDEBUG(132, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy572;\r
- if (yych == 'h') goto yy572;\r
- goto yy187;\r
-yy133:\r
- YYDEBUG(133, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'S') {\r
- if (yych <= 'M') {\r
- if (yych == 'B') goto yy554;\r
- goto yy187;\r
- } else {\r
- if (yych <= 'N') goto yy555;\r
- if (yych <= 'Q') goto yy187;\r
- if (yych <= 'R') goto yy556;\r
- goto yy557;\r
- }\r
- } else {\r
- if (yych <= 'n') {\r
- if (yych == 'b') goto yy554;\r
- if (yych <= 'm') goto yy187;\r
- goto yy555;\r
- } else {\r
- if (yych <= 'q') goto yy187;\r
- if (yych <= 'r') goto yy556;\r
- if (yych <= 's') goto yy557;\r
- goto yy187;\r
- }\r
- }\r
-yy134:\r
- YYDEBUG(134, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'W') {\r
- if (yych == 'T') goto yy542;\r
- if (yych <= 'V') goto yy187;\r
- goto yy543;\r
- } else {\r
- if (yych <= 't') {\r
- if (yych <= 's') goto yy187;\r
- goto yy542;\r
- } else {\r
- if (yych == 'w') goto yy543;\r
- goto yy187;\r
- }\r
- }\r
-yy135:\r
- YYDEBUG(135, *YYCURSOR);\r
- yyaccept = 0;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= ';') {\r
- if (yych <= '"') {\r
- if (yych <= '!') goto yy187;\r
- goto yy534;\r
- } else {\r
- if (yych == '\'') goto yy535;\r
- goto yy187;\r
- }\r
- } else {\r
- if (yych <= 'R') {\r
- if (yych <= '<') goto yy533;\r
- if (yych <= 'Q') goto yy187;\r
- goto yy536;\r
- } else {\r
- if (yych == 'r') goto yy536;\r
- goto yy187;\r
- }\r
- }\r
-yy136:\r
- YYDEBUG(136, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych == 'L') goto yy523;\r
- if (yych <= 'N') goto yy187;\r
- goto yy524;\r
- } else {\r
- if (yych <= 'l') {\r
- if (yych <= 'k') goto yy187;\r
- goto yy523;\r
- } else {\r
- if (yych == 'o') goto yy524;\r
- goto yy187;\r
- }\r
- }\r
-yy137:\r
- YYDEBUG(137, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'U') {\r
- if (yych == 'R') goto yy499;\r
- if (yych <= 'T') goto yy187;\r
- goto yy500;\r
- } else {\r
- if (yych <= 'r') {\r
- if (yych <= 'q') goto yy187;\r
- goto yy499;\r
- } else {\r
- if (yych == 'u') goto yy500;\r
- goto yy187;\r
- }\r
- }\r
-yy138:\r
- YYDEBUG(138, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '<') {\r
- if (yych == '-') goto yy495;\r
- } else {\r
- if (yych <= '=') goto yy493;\r
- if (yych <= '>') goto yy497;\r
- }\r
-yy139:\r
- YYDEBUG(139, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1454 "Zend/zend_language_scanner.l"\r
- {\r
- return yytext[0];\r
-}\r
-#line 2633 "Zend/zend_language_scanner.c"\r
-yy140:\r
- YYDEBUG(140, *YYCURSOR);\r
- ++YYCURSOR;\r
- yych = *YYCURSOR;\r
- goto yy492;\r
-yy141:\r
- YYDEBUG(141, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1175 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- HANDLE_NEWLINES(yytext, yyleng);\r
- return T_WHITESPACE;\r
-}\r
-#line 2648 "Zend/zend_language_scanner.c"\r
-yy142:\r
- YYDEBUG(142, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == ':') goto yy489;\r
- goto yy139;\r
-yy143:\r
- YYDEBUG(143, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(144, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1202 "Zend/zend_language_scanner.l"\r
- {\r
- return T_NS_SEPARATOR;\r
-}\r
-#line 2663 "Zend/zend_language_scanner.c"\r
-yy145:\r
- YYDEBUG(145, *YYCURSOR);\r
- yyaccept = 1;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= '/') {\r
- if (yych == '.') goto yy486;\r
- goto yy139;\r
- } else {\r
- if (yych <= '9') goto yy482;\r
- if (yych == '=') goto yy484;\r
- goto yy139;\r
- }\r
-yy146:\r
- YYDEBUG(146, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'E') {\r
- if (yych == 'A') goto yy470;\r
- if (yych <= 'D') goto yy187;\r
- goto yy471;\r
- } else {\r
- if (yych <= 'a') {\r
- if (yych <= '`') goto yy187;\r
- goto yy470;\r
- } else {\r
- if (yych == 'e') goto yy471;\r
- goto yy187;\r
- }\r
- }\r
-yy147:\r
- YYDEBUG(147, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy467;\r
- if (yych == 'a') goto yy467;\r
- goto yy187;\r
-yy148:\r
- YYDEBUG(148, *YYCURSOR);\r
- yyaccept = 1;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= 'S') {\r
- if (yych <= 'D') {\r
- if (yych <= ' ') {\r
- if (yych == '\t') goto yy392;\r
- if (yych <= 0x1F) goto yy139;\r
- goto yy392;\r
- } else {\r
- if (yych <= '@') goto yy139;\r
- if (yych == 'C') goto yy139;\r
- goto yy392;\r
- }\r
- } else {\r
- if (yych <= 'I') {\r
- if (yych == 'F') goto yy392;\r
- if (yych <= 'H') goto yy139;\r
- goto yy392;\r
- } else {\r
- if (yych == 'O') goto yy392;\r
- if (yych <= 'Q') goto yy139;\r
- goto yy392;\r
- }\r
- }\r
- } else {\r
- if (yych <= 'f') {\r
- if (yych <= 'b') {\r
- if (yych == 'U') goto yy392;\r
- if (yych <= '`') goto yy139;\r
- goto yy392;\r
- } else {\r
- if (yych == 'd') goto yy392;\r
- if (yych <= 'e') goto yy139;\r
- goto yy392;\r
- }\r
- } else {\r
- if (yych <= 'o') {\r
- if (yych == 'i') goto yy392;\r
- if (yych <= 'n') goto yy139;\r
- goto yy392;\r
- } else {\r
- if (yych <= 's') {\r
- if (yych <= 'q') goto yy139;\r
- goto yy392;\r
- } else {\r
- if (yych == 'u') goto yy392;\r
- goto yy139;\r
- }\r
- }\r
- }\r
- }\r
-yy149:\r
- YYDEBUG(149, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'S') {\r
- if (yych == 'N') goto yy383;\r
- if (yych <= 'R') goto yy187;\r
- goto yy384;\r
- } else {\r
- if (yych <= 'n') {\r
- if (yych <= 'm') goto yy187;\r
- goto yy383;\r
- } else {\r
- if (yych == 's') goto yy384;\r
- goto yy187;\r
- }\r
- }\r
-yy150:\r
- YYDEBUG(150, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '_') goto yy301;\r
- goto yy187;\r
-yy151:\r
- YYDEBUG(151, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '<') goto yy139;\r
- if (yych <= '=') goto yy295;\r
- if (yych <= '>') goto yy297;\r
- goto yy139;\r
-yy152:\r
- YYDEBUG(152, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy291;\r
- if (yych == 'i') goto yy291;\r
- goto yy187;\r
-yy153:\r
- YYDEBUG(153, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '+') goto yy289;\r
- if (yych == '=') goto yy287;\r
- goto yy139;\r
-yy154:\r
- YYDEBUG(154, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '=') goto yy284;\r
- goto yy139;\r
-yy155:\r
- YYDEBUG(155, *YYCURSOR);\r
- yyaccept = 1;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= ';') {\r
- if (yych == '/') goto yy256;\r
- goto yy139;\r
- } else {\r
- if (yych <= '<') goto yy254;\r
- if (yych <= '=') goto yy257;\r
- if (yych <= '>') goto yy259;\r
- goto yy139;\r
- }\r
-yy156:\r
- YYDEBUG(156, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '<') goto yy139;\r
- if (yych <= '=') goto yy250;\r
- if (yych <= '>') goto yy248;\r
- goto yy139;\r
-yy157:\r
- YYDEBUG(157, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '*') goto yy242;\r
- if (yych == '=') goto yy244;\r
- goto yy139;\r
-yy158:\r
- YYDEBUG(158, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '.') {\r
- if (yych == '*') goto yy234;\r
- goto yy139;\r
- } else {\r
- if (yych <= '/') goto yy236;\r
- if (yych == '=') goto yy237;\r
- goto yy139;\r
- }\r
-yy159:\r
- YYDEBUG(159, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '<') goto yy139;\r
- if (yych <= '=') goto yy230;\r
- if (yych <= '>') goto yy228;\r
- goto yy139;\r
-yy160:\r
- YYDEBUG(160, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '&') goto yy224;\r
- if (yych == '=') goto yy226;\r
- goto yy139;\r
-yy161:\r
- YYDEBUG(161, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '=') goto yy222;\r
- if (yych == '|') goto yy220;\r
- goto yy139;\r
-yy162:\r
- YYDEBUG(162, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '=') goto yy218;\r
- goto yy139;\r
-yy163:\r
- YYDEBUG(163, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy216;\r
- if (yych == 'r') goto yy216;\r
- goto yy187;\r
-yy164:\r
- YYDEBUG(164, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy213;\r
- if (yych == 'o') goto yy213;\r
- goto yy187;\r
-yy165:\r
- YYDEBUG(165, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy139;\r
- if (yych <= 'Z') goto yy210;\r
- if (yych <= '^') goto yy139;\r
- goto yy210;\r
- } else {\r
- if (yych <= '`') goto yy139;\r
- if (yych <= 'z') goto yy210;\r
- if (yych <= '~') goto yy139;\r
- goto yy210;\r
- }\r
-yy166:\r
- YYDEBUG(166, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy139;\r
-yy167:\r
- YYDEBUG(167, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '>') goto yy206;\r
- goto yy139;\r
-yy168:\r
- YYDEBUG(168, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(169, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1459 "Zend/zend_language_scanner.l"\r
- {\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- return '{';\r
-}\r
-#line 2902 "Zend/zend_language_scanner.c"\r
-yy170:\r
- YYDEBUG(170, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(171, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1471 "Zend/zend_language_scanner.l"\r
- {\r
- RESET_DOC_COMMENT();\r
- if (!zend_stack_is_empty(&SCNG(state_stack))) {\r
- yy_pop_state(TSRMLS_C);\r
- }\r
- return '}';\r
-}\r
-#line 2916 "Zend/zend_language_scanner.c"\r
-yy172:\r
- YYDEBUG(172, *YYCURSOR);\r
- yyaccept = 2;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= 'E') {\r
- if (yych <= '9') {\r
- if (yych == '.') goto yy188;\r
- if (yych >= '0') goto yy191;\r
- } else {\r
- if (yych == 'B') goto yy199;\r
- if (yych >= 'E') goto yy193;\r
- }\r
- } else {\r
- if (yych <= 'b') {\r
- if (yych == 'X') goto yy198;\r
- if (yych >= 'b') goto yy199;\r
- } else {\r
- if (yych <= 'e') {\r
- if (yych >= 'e') goto yy193;\r
- } else {\r
- if (yych == 'x') goto yy198;\r
- }\r
- }\r
- }\r
-yy173:\r
- YYDEBUG(173, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1521 "Zend/zend_language_scanner.l"\r
- {\r
- if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */\r
- Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);\r
- } else {\r
- errno = 0;\r
- Z_LVAL_P(zendlval) = strtol(yytext, NULL, 0);\r
- if (errno == ERANGE) { /* Overflow */\r
- if (yytext[0] == '0') { /* octal overflow */\r
- Z_DVAL_P(zendlval) = zend_oct_strtod(yytext, NULL);\r
- } else {\r
- Z_DVAL_P(zendlval) = zend_strtod(yytext, NULL);\r
- }\r
- zendlval->type = IS_DOUBLE;\r
- return T_DNUMBER;\r
- }\r
- }\r
-\r
- zendlval->type = IS_LONG;\r
- return T_LNUMBER;\r
-}\r
-#line 2965 "Zend/zend_language_scanner.c"\r
-yy174:\r
- YYDEBUG(174, *YYCURSOR);\r
- yyaccept = 2;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= '9') {\r
- if (yych == '.') goto yy188;\r
- if (yych <= '/') goto yy173;\r
- goto yy191;\r
- } else {\r
- if (yych <= 'E') {\r
- if (yych <= 'D') goto yy173;\r
- goto yy193;\r
- } else {\r
- if (yych == 'e') goto yy193;\r
- goto yy173;\r
- }\r
- }\r
-yy175:\r
- YYDEBUG(175, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy187;\r
-yy176:\r
- YYDEBUG(176, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy177:\r
- YYDEBUG(177, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1861 "Zend/zend_language_scanner.l"\r
- {\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '\r':\r
- if (*YYCURSOR == '\n') {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- case '\n':\r
- CG(zend_lineno)++;\r
- break;\r
- case '%':\r
- if (!CG(asp_tags)) {\r
- continue;\r
- }\r
- /* fall through */\r
- case '?':\r
- if (*YYCURSOR == '>') {\r
- YYCURSOR--;\r
- break;\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
-\r
- break;\r
- }\r
-\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- return T_COMMENT;\r
-}\r
-#line 3027 "Zend/zend_language_scanner.c"\r
-yy178:\r
- YYDEBUG(178, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy179:\r
- YYDEBUG(179, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1948 "Zend/zend_language_scanner.l"\r
- {\r
- register char *s, *t;\r
- char *end;\r
- int bprefix = (yytext[0] != '\'') ? 1 : 0;\r
-\r
- while (1) {\r
- if (YYCURSOR < YYLIMIT) {\r
- if (*YYCURSOR == '\'') {\r
- YYCURSOR++;\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- break;\r
- } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
- } else {\r
- yyleng = YYLIMIT - SCNG(yy_text);\r
-\r
- /* Unclosed single quotes; treat similar to double quotes, but without a separate token\r
- * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."\r
- * rule, which continued in ST_IN_SCRIPTING state after the quote */\r
- return T_ENCAPSED_AND_WHITESPACE;\r
- }\r
- }\r
-\r
- ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2, 1);\r
-\r
- /* convert escape sequences */\r
- s = t = Z_STRVAL_P(zendlval);\r
- end = s+Z_STRLEN_P(zendlval);\r
- while (s<end) {\r
- if (*s=='\\') {\r
- s++;\r
-\r
- switch(*s) {\r
- case '\\':\r
- case '\'':\r
- *t++ = *s;\r
- Z_STRLEN_P(zendlval)--;\r
- break;\r
- default:\r
- *t++ = '\\';\r
- *t++ = *s;\r
- break;\r
- }\r
- } else {\r
- *t++ = *s;\r
- }\r
-\r
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {\r
- CG(zend_lineno)++;\r
- }\r
- s++;\r
- }\r
- *t = 0;\r
-\r
- if (SCNG(output_filter)) {\r
- size_t sz = 0;\r
- s = Z_STRVAL_P(zendlval);\r
- SCNG(output_filter)((unsigned char **)&Z_STRVAL_P(zendlval), &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);\r
- Z_STRLEN_P(zendlval) = sz;\r
- efree(s);\r
- }\r
- return T_CONSTANT_ENCAPSED_STRING;\r
-}\r
-#line 3100 "Zend/zend_language_scanner.c"\r
-yy180:\r
- YYDEBUG(180, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy181:\r
- YYDEBUG(181, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2015 "Zend/zend_language_scanner.l"\r
- {\r
- int bprefix = (yytext[0] != '"') ? 1 : 0;\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '"':\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
- zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);\r
- return T_CONSTANT_ENCAPSED_STRING;\r
- case '$':\r
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {\r
- break;\r
- }\r
- continue;\r
- case '{':\r
- if (*YYCURSOR == '$') {\r
- break;\r
- }\r
- continue;\r
- case '\\':\r
- if (YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
-\r
- YYCURSOR--;\r
- break;\r
- }\r
-\r
- /* Remember how much was scanned to save rescanning */\r
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);\r
-\r
- YYCURSOR = SCNG(yy_text) + yyleng;\r
-\r
- BEGIN(ST_DOUBLE_QUOTES);\r
- return '"';\r
-}\r
-#line 3148 "Zend/zend_language_scanner.c"\r
-yy182:\r
- YYDEBUG(182, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(183, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2105 "Zend/zend_language_scanner.l"\r
- {\r
- BEGIN(ST_BACKQUOTE);\r
- return '`';\r
-}\r
-#line 3159 "Zend/zend_language_scanner.c"\r
-yy184:\r
- YYDEBUG(184, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(185, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2368 "Zend/zend_language_scanner.l"\r
- {\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
-\r
- zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);\r
- goto restart;\r
-}\r
-#line 3174 "Zend/zend_language_scanner.c"\r
-yy186:\r
- YYDEBUG(186, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy187:\r
- YYDEBUG(187, *YYCURSOR);\r
- if (yybm[0+yych] & 4) {\r
- goto yy186;\r
- }\r
- goto yy124;\r
-yy188:\r
- YYDEBUG(188, *YYCURSOR);\r
- yyaccept = 3;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(189, *YYCURSOR);\r
- if (yybm[0+yych] & 8) {\r
- goto yy188;\r
- }\r
- if (yych == 'E') goto yy193;\r
- if (yych == 'e') goto yy193;\r
-yy190:\r
- YYDEBUG(190, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1580 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));\r
- return T_DNUMBER;\r
-}\r
-#line 3206 "Zend/zend_language_scanner.c"\r
-yy191:\r
- YYDEBUG(191, *YYCURSOR);\r
- yyaccept = 2;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(192, *YYCURSOR);\r
- if (yych <= '9') {\r
- if (yych == '.') goto yy188;\r
- if (yych <= '/') goto yy173;\r
- goto yy191;\r
- } else {\r
- if (yych <= 'E') {\r
- if (yych <= 'D') goto yy173;\r
- } else {\r
- if (yych != 'e') goto yy173;\r
- }\r
- }\r
-yy193:\r
- YYDEBUG(193, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= ',') {\r
- if (yych == '+') goto yy195;\r
- } else {\r
- if (yych <= '-') goto yy195;\r
- if (yych <= '/') goto yy194;\r
- if (yych <= '9') goto yy196;\r
- }\r
-yy194:\r
- YYDEBUG(194, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- if (yyaccept <= 2) {\r
- if (yyaccept <= 1) {\r
- if (yyaccept <= 0) {\r
- goto yy124;\r
- } else {\r
- goto yy139;\r
- }\r
- } else {\r
- goto yy173;\r
- }\r
- } else {\r
- if (yyaccept <= 4) {\r
- if (yyaccept <= 3) {\r
- goto yy190;\r
- } else {\r
- goto yy235;\r
- }\r
- } else {\r
- goto yy255;\r
- }\r
- }\r
-yy195:\r
- YYDEBUG(195, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= '/') goto yy194;\r
- if (yych >= ':') goto yy194;\r
-yy196:\r
- YYDEBUG(196, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(197, *YYCURSOR);\r
- if (yych <= '/') goto yy190;\r
- if (yych <= '9') goto yy196;\r
- goto yy190;\r
-yy198:\r
- YYDEBUG(198, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yybm[0+yych] & 32) {\r
- goto yy203;\r
- }\r
- goto yy194;\r
-yy199:\r
- YYDEBUG(199, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yybm[0+yych] & 16) {\r
- goto yy200;\r
- }\r
- goto yy194;\r
-yy200:\r
- YYDEBUG(200, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(201, *YYCURSOR);\r
- if (yybm[0+yych] & 16) {\r
- goto yy200;\r
- }\r
- YYDEBUG(202, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1497 "Zend/zend_language_scanner.l"\r
- {\r
- char *bin = yytext + 2; /* Skip "0b" */\r
- int len = yyleng - 2;\r
-\r
- /* Skip any leading 0s */\r
- while (*bin == '0') {\r
- ++bin;\r
- --len;\r
- }\r
-\r
- if (len < SIZEOF_LONG * 8) {\r
- if (len == 0) {\r
- Z_LVAL_P(zendlval) = 0;\r
- } else {\r
- Z_LVAL_P(zendlval) = strtol(bin, NULL, 2);\r
- }\r
- zendlval->type = IS_LONG;\r
- return T_LNUMBER;\r
- } else {\r
- ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, NULL));\r
- return T_DNUMBER;\r
- }\r
-}\r
-#line 3322 "Zend/zend_language_scanner.c"\r
-yy203:\r
- YYDEBUG(203, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(204, *YYCURSOR);\r
- if (yybm[0+yych] & 32) {\r
- goto yy203;\r
- }\r
- YYDEBUG(205, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1542 "Zend/zend_language_scanner.l"\r
- {\r
- char *hex = yytext + 2; /* Skip "0x" */\r
- int len = yyleng - 2;\r
-\r
- /* Skip any leading 0s */\r
- while (*hex == '0') {\r
- hex++;\r
- len--;\r
- }\r
-\r
- if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {\r
- if (len == 0) {\r
- Z_LVAL_P(zendlval) = 0;\r
- } else {\r
- Z_LVAL_P(zendlval) = strtol(hex, NULL, 16);\r
- }\r
- zendlval->type = IS_LONG;\r
- return T_LNUMBER;\r
- } else {\r
- ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, NULL));\r
- return T_DNUMBER;\r
- }\r
-}\r
-#line 3358 "Zend/zend_language_scanner.c"\r
-yy206:\r
- YYDEBUG(206, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '\n') goto yy208;\r
- if (yych == '\r') goto yy209;\r
-yy207:\r
- YYDEBUG(207, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1929 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- BEGIN(INITIAL);\r
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */\r
-}\r
-#line 3373 "Zend/zend_language_scanner.c"\r
-yy208:\r
- YYDEBUG(208, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy207;\r
-yy209:\r
- YYDEBUG(209, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '\n') goto yy208;\r
- goto yy207;\r
-yy210:\r
- YYDEBUG(210, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(211, *YYCURSOR);\r
- if (yych <= '^') {\r
- if (yych <= '9') {\r
- if (yych >= '0') goto yy210;\r
- } else {\r
- if (yych <= '@') goto yy212;\r
- if (yych <= 'Z') goto yy210;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych <= '_') goto yy210;\r
- } else {\r
- if (yych <= 'z') goto yy210;\r
- if (yych >= 0x7F) goto yy210;\r
- }\r
- }\r
-yy212:\r
- YYDEBUG(212, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1831 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 3413 "Zend/zend_language_scanner.c"\r
-yy213:\r
- YYDEBUG(213, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy214;\r
- if (yych != 'r') goto yy187;\r
-yy214:\r
- YYDEBUG(214, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(215, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1442 "Zend/zend_language_scanner.l"\r
- {\r
- return T_LOGICAL_XOR;\r
-}\r
-#line 3431 "Zend/zend_language_scanner.c"\r
-yy216:\r
- YYDEBUG(216, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(217, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1434 "Zend/zend_language_scanner.l"\r
- {\r
- return T_LOGICAL_OR;\r
-}\r
-#line 3444 "Zend/zend_language_scanner.c"\r
-yy218:\r
- YYDEBUG(218, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(219, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1422 "Zend/zend_language_scanner.l"\r
- {\r
- return T_XOR_EQUAL;\r
-}\r
-#line 3454 "Zend/zend_language_scanner.c"\r
-yy220:\r
- YYDEBUG(220, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(221, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1426 "Zend/zend_language_scanner.l"\r
- {\r
- return T_BOOLEAN_OR;\r
-}\r
-#line 3464 "Zend/zend_language_scanner.c"\r
-yy222:\r
- YYDEBUG(222, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(223, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1418 "Zend/zend_language_scanner.l"\r
- {\r
- return T_OR_EQUAL;\r
-}\r
-#line 3474 "Zend/zend_language_scanner.c"\r
-yy224:\r
- YYDEBUG(224, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(225, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1430 "Zend/zend_language_scanner.l"\r
- {\r
- return T_BOOLEAN_AND;\r
-}\r
-#line 3484 "Zend/zend_language_scanner.c"\r
-yy226:\r
- YYDEBUG(226, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(227, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1414 "Zend/zend_language_scanner.l"\r
- {\r
- return T_AND_EQUAL;\r
-}\r
-#line 3494 "Zend/zend_language_scanner.c"\r
-yy228:\r
- YYDEBUG(228, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '\n') goto yy232;\r
- if (yych == '\r') goto yy233;\r
-yy229:\r
- YYDEBUG(229, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1936 "Zend/zend_language_scanner.l"\r
- {\r
- if (CG(asp_tags)) {\r
- BEGIN(INITIAL);\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */\r
- } else {\r
- yyless(1);\r
- return yytext[0];\r
- }\r
-}\r
-#line 3514 "Zend/zend_language_scanner.c"\r
-yy230:\r
- YYDEBUG(230, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(231, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1402 "Zend/zend_language_scanner.l"\r
- {\r
- return T_MOD_EQUAL;\r
-}\r
-#line 3524 "Zend/zend_language_scanner.c"\r
-yy232:\r
- YYDEBUG(232, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy229;\r
-yy233:\r
- YYDEBUG(233, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '\n') goto yy232;\r
- goto yy229;\r
-yy234:\r
- YYDEBUG(234, *YYCURSOR);\r
- yyaccept = 4;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych == '*') goto yy239;\r
-yy235:\r
- YYDEBUG(235, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1895 "Zend/zend_language_scanner.l"\r
- {\r
- int doc_com;\r
-\r
- if (yyleng > 2) {\r
- doc_com = 1;\r
- RESET_DOC_COMMENT();\r
- } else {\r
- doc_com = 0;\r
- }\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {\r
- break;\r
- }\r
- }\r
-\r
- if (YYCURSOR < YYLIMIT) {\r
- YYCURSOR++;\r
- } else {\r
- zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));\r
- }\r
-\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
- HANDLE_NEWLINES(yytext, yyleng);\r
-\r
- if (doc_com) {\r
- CG(doc_comment) = estrndup(yytext, yyleng);\r
- CG(doc_comment_len) = yyleng;\r
- return T_DOC_COMMENT;\r
- }\r
-\r
- return T_COMMENT;\r
-}\r
-#line 3576 "Zend/zend_language_scanner.c"\r
-yy236:\r
- YYDEBUG(236, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy177;\r
-yy237:\r
- YYDEBUG(237, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(238, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1394 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DIV_EQUAL;\r
-}\r
-#line 3590 "Zend/zend_language_scanner.c"\r
-yy239:\r
- YYDEBUG(239, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yybm[0+yych] & 64) {\r
- goto yy240;\r
- }\r
- goto yy194;\r
-yy240:\r
- YYDEBUG(240, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(241, *YYCURSOR);\r
- if (yybm[0+yych] & 64) {\r
- goto yy240;\r
- }\r
- goto yy235;\r
-yy242:\r
- YYDEBUG(242, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '=') goto yy246;\r
- YYDEBUG(243, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1386 "Zend/zend_language_scanner.l"\r
- {\r
- return T_POW;\r
-}\r
-#line 3618 "Zend/zend_language_scanner.c"\r
-yy244:\r
- YYDEBUG(244, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(245, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1382 "Zend/zend_language_scanner.l"\r
- {\r
- return T_MUL_EQUAL;\r
-}\r
-#line 3628 "Zend/zend_language_scanner.c"\r
-yy246:\r
- YYDEBUG(246, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(247, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1390 "Zend/zend_language_scanner.l"\r
- {\r
- return T_POW_EQUAL;\r
-}\r
-#line 3638 "Zend/zend_language_scanner.c"\r
-yy248:\r
- YYDEBUG(248, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '=') goto yy252;\r
- YYDEBUG(249, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1450 "Zend/zend_language_scanner.l"\r
- {\r
- return T_SR;\r
-}\r
-#line 3649 "Zend/zend_language_scanner.c"\r
-yy250:\r
- YYDEBUG(250, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(251, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1370 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_GREATER_OR_EQUAL;\r
-}\r
-#line 3659 "Zend/zend_language_scanner.c"\r
-yy252:\r
- YYDEBUG(252, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(253, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1410 "Zend/zend_language_scanner.l"\r
- {\r
- return T_SR_EQUAL;\r
-}\r
-#line 3669 "Zend/zend_language_scanner.c"\r
-yy254:\r
- YYDEBUG(254, *YYCURSOR);\r
- yyaccept = 5;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= ';') goto yy255;\r
- if (yych <= '<') goto yy270;\r
- if (yych <= '=') goto yy268;\r
-yy255:\r
- YYDEBUG(255, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1446 "Zend/zend_language_scanner.l"\r
- {\r
- return T_SL;\r
-}\r
-#line 3684 "Zend/zend_language_scanner.c"\r
-yy256:\r
- YYDEBUG(256, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy261;\r
- if (yych == 's') goto yy261;\r
- goto yy194;\r
-yy257:\r
- YYDEBUG(257, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(258, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1366 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_SMALLER_OR_EQUAL;\r
-}\r
-#line 3700 "Zend/zend_language_scanner.c"\r
-yy259:\r
- YYDEBUG(259, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy260:\r
- YYDEBUG(260, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1362 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_NOT_EQUAL;\r
-}\r
-#line 3711 "Zend/zend_language_scanner.c"\r
-yy261:\r
- YYDEBUG(261, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy262;\r
- if (yych != 'c') goto yy194;\r
-yy262:\r
- YYDEBUG(262, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy263;\r
- if (yych != 'r') goto yy194;\r
-yy263:\r
- YYDEBUG(263, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy264;\r
- if (yych != 'i') goto yy194;\r
-yy264:\r
- YYDEBUG(264, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy265;\r
- if (yych != 'p') goto yy194;\r
-yy265:\r
- YYDEBUG(265, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy266;\r
- if (yych != 't') goto yy194;\r
-yy266:\r
- YYDEBUG(266, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(267, *YYCURSOR);\r
- if (yych <= '\r') {\r
- if (yych <= 0x08) goto yy194;\r
- if (yych <= '\n') goto yy266;\r
- if (yych <= '\f') goto yy194;\r
- goto yy266;\r
- } else {\r
- if (yych <= ' ') {\r
- if (yych <= 0x1F) goto yy194;\r
- goto yy266;\r
- } else {\r
- if (yych == '>') goto yy206;\r
- goto yy194;\r
- }\r
- }\r
-yy268:\r
- YYDEBUG(268, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(269, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1406 "Zend/zend_language_scanner.l"\r
- {\r
- return T_SL_EQUAL;\r
-}\r
-#line 3766 "Zend/zend_language_scanner.c"\r
-yy270:\r
- YYDEBUG(270, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- YYDEBUG(271, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy270;\r
- }\r
- if (yych <= 'Z') {\r
- if (yych <= '&') {\r
- if (yych == '"') goto yy275;\r
- goto yy194;\r
- } else {\r
- if (yych <= '\'') goto yy274;\r
- if (yych <= '@') goto yy194;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych != '_') goto yy194;\r
- } else {\r
- if (yych <= 'z') goto yy272;\r
- if (yych <= '~') goto yy194;\r
- }\r
- }\r
-yy272:\r
- YYDEBUG(272, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- YYDEBUG(273, *YYCURSOR);\r
- if (yych <= '@') {\r
- if (yych <= '\f') {\r
- if (yych == '\n') goto yy279;\r
- goto yy194;\r
- } else {\r
- if (yych <= '\r') goto yy281;\r
- if (yych <= '/') goto yy194;\r
- if (yych <= '9') goto yy272;\r
- goto yy194;\r
- }\r
- } else {\r
- if (yych <= '_') {\r
- if (yych <= 'Z') goto yy272;\r
- if (yych <= '^') goto yy194;\r
- goto yy272;\r
- } else {\r
- if (yych <= '`') goto yy194;\r
- if (yych <= 'z') goto yy272;\r
- if (yych <= '~') goto yy194;\r
- goto yy272;\r
- }\r
- }\r
-yy274:\r
- YYDEBUG(274, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '\'') goto yy194;\r
- if (yych <= '/') goto yy283;\r
- if (yych <= '9') goto yy194;\r
- goto yy283;\r
-yy275:\r
- YYDEBUG(275, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '"') goto yy194;\r
- if (yych <= '/') goto yy277;\r
- if (yych <= '9') goto yy194;\r
- goto yy277;\r
-yy276:\r
- YYDEBUG(276, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
-yy277:\r
- YYDEBUG(277, *YYCURSOR);\r
- if (yych <= 'Z') {\r
- if (yych <= '/') {\r
- if (yych != '"') goto yy194;\r
- } else {\r
- if (yych <= '9') goto yy276;\r
- if (yych <= '@') goto yy194;\r
- goto yy276;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych == '_') goto yy276;\r
- goto yy194;\r
- } else {\r
- if (yych <= 'z') goto yy276;\r
- if (yych <= '~') goto yy194;\r
- goto yy276;\r
- }\r
- }\r
-yy278:\r
- YYDEBUG(278, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '\n') goto yy279;\r
- if (yych == '\r') goto yy281;\r
- goto yy194;\r
-yy279:\r
- YYDEBUG(279, *YYCURSOR);\r
- ++YYCURSOR;\r
-yy280:\r
- YYDEBUG(280, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2057 "Zend/zend_language_scanner.l"\r
- {\r
- char *s;\r
- int bprefix = (yytext[0] != '<') ? 1 : 0;\r
- zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));\r
-\r
- CG(zend_lineno)++;\r
- heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);\r
- s = yytext+bprefix+3;\r
- while ((*s == ' ') || (*s == '\t')) {\r
- s++;\r
- heredoc_label->length--;\r
- }\r
-\r
- if (*s == '\'') {\r
- s++;\r
- heredoc_label->length -= 2;\r
-\r
- BEGIN(ST_NOWDOC);\r
- } else {\r
- if (*s == '"') {\r
- s++;\r
- heredoc_label->length -= 2;\r
- }\r
-\r
- BEGIN(ST_HEREDOC);\r
- }\r
-\r
- heredoc_label->label = estrndup(s, heredoc_label->length);\r
-\r
- /* Check for ending label on the next line */\r
- if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {\r
- YYCTYPE *end = YYCURSOR + heredoc_label->length;\r
-\r
- if (*end == ';') {\r
- end++;\r
- }\r
-\r
- if (*end == '\n' || *end == '\r') {\r
- BEGIN(ST_END_HEREDOC);\r
- }\r
- }\r
-\r
- zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);\r
-\r
- return T_START_HEREDOC;\r
-}\r
-#line 3918 "Zend/zend_language_scanner.c"\r
-yy281:\r
- YYDEBUG(281, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '\n') goto yy279;\r
- goto yy280;\r
-yy282:\r
- YYDEBUG(282, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
-yy283:\r
- YYDEBUG(283, *YYCURSOR);\r
- if (yych <= 'Z') {\r
- if (yych <= '/') {\r
- if (yych == '\'') goto yy278;\r
- goto yy194;\r
- } else {\r
- if (yych <= '9') goto yy282;\r
- if (yych <= '@') goto yy194;\r
- goto yy282;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych == '_') goto yy282;\r
- goto yy194;\r
- } else {\r
- if (yych <= 'z') goto yy282;\r
- if (yych <= '~') goto yy194;\r
- goto yy282;\r
- }\r
- }\r
-yy284:\r
- YYDEBUG(284, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '=') goto yy260;\r
- YYDEBUG(285, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(286, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1354 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_NOT_IDENTICAL;\r
-}\r
-#line 3962 "Zend/zend_language_scanner.c"\r
-yy287:\r
- YYDEBUG(287, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(288, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1374 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PLUS_EQUAL;\r
-}\r
-#line 3972 "Zend/zend_language_scanner.c"\r
-yy289:\r
- YYDEBUG(289, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(290, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1342 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INC;\r
-}\r
-#line 3982 "Zend/zend_language_scanner.c"\r
-yy291:\r
- YYDEBUG(291, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy292;\r
- if (yych != 's') goto yy187;\r
-yy292:\r
- YYDEBUG(292, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy293;\r
- if (yych != 't') goto yy187;\r
-yy293:\r
- YYDEBUG(293, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(294, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1330 "Zend/zend_language_scanner.l"\r
- {\r
- return T_LIST;\r
-}\r
-#line 4005 "Zend/zend_language_scanner.c"\r
-yy295:\r
- YYDEBUG(295, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '=') goto yy299;\r
- YYDEBUG(296, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1358 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_EQUAL;\r
-}\r
-#line 4016 "Zend/zend_language_scanner.c"\r
-yy297:\r
- YYDEBUG(297, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(298, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1326 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DOUBLE_ARROW;\r
-}\r
-#line 4026 "Zend/zend_language_scanner.c"\r
-yy299:\r
- YYDEBUG(299, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(300, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1350 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IS_IDENTICAL;\r
-}\r
-#line 4036 "Zend/zend_language_scanner.c"\r
-yy301:\r
- YYDEBUG(301, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- YYDEBUG(-1, yych);\r
- switch (yych) {\r
- case 'C':\r
- case 'c': goto yy303;\r
- case 'D':\r
- case 'd': goto yy308;\r
- case 'F':\r
- case 'f': goto yy305;\r
- case 'H':\r
- case 'h': goto yy302;\r
- case 'L':\r
- case 'l': goto yy307;\r
- case 'M':\r
- case 'm': goto yy306;\r
- case 'N':\r
- case 'n': goto yy309;\r
- case 'T':\r
- case 't': goto yy304;\r
- default: goto yy187;\r
- }\r
-yy302:\r
- YYDEBUG(302, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy370;\r
- if (yych == 'a') goto yy370;\r
- goto yy187;\r
-yy303:\r
- YYDEBUG(303, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy363;\r
- if (yych == 'l') goto yy363;\r
- goto yy187;\r
-yy304:\r
- YYDEBUG(304, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy356;\r
- if (yych == 'r') goto yy356;\r
- goto yy187;\r
-yy305:\r
- YYDEBUG(305, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'U') {\r
- if (yych == 'I') goto yy340;\r
- if (yych <= 'T') goto yy187;\r
- goto yy341;\r
- } else {\r
- if (yych <= 'i') {\r
- if (yych <= 'h') goto yy187;\r
- goto yy340;\r
- } else {\r
- if (yych == 'u') goto yy341;\r
- goto yy187;\r
- }\r
- }\r
-yy306:\r
- YYDEBUG(306, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy332;\r
- if (yych == 'e') goto yy332;\r
- goto yy187;\r
-yy307:\r
- YYDEBUG(307, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy326;\r
- if (yych == 'i') goto yy326;\r
- goto yy187;\r
-yy308:\r
- YYDEBUG(308, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy321;\r
- if (yych == 'i') goto yy321;\r
- goto yy187;\r
-yy309:\r
- YYDEBUG(309, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy310;\r
- if (yych != 'a') goto yy187;\r
-yy310:\r
- YYDEBUG(310, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'M') goto yy311;\r
- if (yych != 'm') goto yy187;\r
-yy311:\r
- YYDEBUG(311, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy312;\r
- if (yych != 'e') goto yy187;\r
-yy312:\r
- YYDEBUG(312, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy313;\r
- if (yych != 's') goto yy187;\r
-yy313:\r
- YYDEBUG(313, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy314;\r
- if (yych != 'p') goto yy187;\r
-yy314:\r
- YYDEBUG(314, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy315;\r
- if (yych != 'a') goto yy187;\r
-yy315:\r
- YYDEBUG(315, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy316;\r
- if (yych != 'c') goto yy187;\r
-yy316:\r
- YYDEBUG(316, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy317;\r
- if (yych != 'e') goto yy187;\r
-yy317:\r
- YYDEBUG(317, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(318, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(319, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(320, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1676 "Zend/zend_language_scanner.l"\r
- {\r
- if (CG(current_namespace)) {\r
- *zendlval = *CG(current_namespace);\r
- zval_copy_ctor(zendlval);\r
- } else {\r
- ZVAL_EMPTY_STRING(zendlval);\r
- }\r
- return T_NS_C;\r
-}\r
-#line 4176 "Zend/zend_language_scanner.c"\r
-yy321:\r
- YYDEBUG(321, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy322;\r
- if (yych != 'r') goto yy187;\r
-yy322:\r
- YYDEBUG(322, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(323, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(324, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(325, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1651 "Zend/zend_language_scanner.l"\r
- {\r
- char *filename = zend_get_compiled_filename(TSRMLS_C);\r
- const size_t filename_len = strlen(filename);\r
- char *dirname;\r
-\r
- if (!filename) {\r
- filename = "";\r
- }\r
-\r
- dirname = estrndup(filename, filename_len);\r
- zend_dirname(dirname, filename_len);\r
-\r
- if (strcmp(dirname, ".") == 0) {\r
- dirname = erealloc(dirname, MAXPATHLEN);\r
-#if HAVE_GETCWD\r
- VCWD_GETCWD(dirname, MAXPATHLEN);\r
-#elif HAVE_GETWD\r
- VCWD_GETWD(dirname);\r
-#endif\r
- }\r
-\r
- ZVAL_STRING(zendlval, dirname, 0);\r
- return T_DIR;\r
-}\r
-#line 4221 "Zend/zend_language_scanner.c"\r
-yy326:\r
- YYDEBUG(326, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy327;\r
- if (yych != 'n') goto yy187;\r
-yy327:\r
- YYDEBUG(327, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy328;\r
- if (yych != 'e') goto yy187;\r
-yy328:\r
- YYDEBUG(328, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(329, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(330, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(331, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1636 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_LONG(zendlval, CG(zend_lineno));\r
- return T_LINE;\r
-}\r
-#line 4251 "Zend/zend_language_scanner.c"\r
-yy332:\r
- YYDEBUG(332, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy333;\r
- if (yych != 't') goto yy187;\r
-yy333:\r
- YYDEBUG(333, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy334;\r
- if (yych != 'h') goto yy187;\r
-yy334:\r
- YYDEBUG(334, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy335;\r
- if (yych != 'o') goto yy187;\r
-yy335:\r
- YYDEBUG(335, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy336;\r
- if (yych != 'd') goto yy187;\r
-yy336:\r
- YYDEBUG(336, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(337, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(338, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(339, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1623 "Zend/zend_language_scanner.l"\r
- {\r
- const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;\r
- const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;\r
-\r
- Z_STRLEN_P(zendlval) = zend_spprintf(&Z_STRVAL_P(zendlval), 0, "%s%s%s",\r
- class_name ? class_name : "",\r
- class_name && func_name ? "::" : "",\r
- func_name ? func_name : ""\r
- );\r
- zendlval->type = IS_STRING;\r
- return T_METHOD_C;\r
-}\r
-#line 4299 "Zend/zend_language_scanner.c"\r
-yy340:\r
- YYDEBUG(340, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy351;\r
- if (yych == 'l') goto yy351;\r
- goto yy187;\r
-yy341:\r
- YYDEBUG(341, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy342;\r
- if (yych != 'n') goto yy187;\r
-yy342:\r
- YYDEBUG(342, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy343;\r
- if (yych != 'c') goto yy187;\r
-yy343:\r
- YYDEBUG(343, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy344;\r
- if (yych != 't') goto yy187;\r
-yy344:\r
- YYDEBUG(344, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy345;\r
- if (yych != 'i') goto yy187;\r
-yy345:\r
- YYDEBUG(345, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy346;\r
- if (yych != 'o') goto yy187;\r
-yy346:\r
- YYDEBUG(346, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy347;\r
- if (yych != 'n') goto yy187;\r
-yy347:\r
- YYDEBUG(347, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(348, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(349, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(350, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1613 "Zend/zend_language_scanner.l"\r
- {\r
- zend_op_array *op_array = CG(active_op_array);\r
- if (op_array && op_array->function_name) {\r
- ZVAL_STRING(zendlval, op_array->function_name, 1);\r
- } else {\r
- ZVAL_EMPTY_STRING(zendlval);\r
- }\r
- return T_FUNC_C;\r
-}\r
-#line 4360 "Zend/zend_language_scanner.c"\r
-yy351:\r
- YYDEBUG(351, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy352;\r
- if (yych != 'e') goto yy187;\r
-yy352:\r
- YYDEBUG(352, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(353, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(354, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(355, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1641 "Zend/zend_language_scanner.l"\r
- {\r
- char *filename = zend_get_compiled_filename(TSRMLS_C);\r
-\r
- if (!filename) {\r
- filename = "";\r
- }\r
- ZVAL_STRING(zendlval, filename, 1);\r
- return T_FILE;\r
-}\r
-#line 4390 "Zend/zend_language_scanner.c"\r
-yy356:\r
- YYDEBUG(356, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy357;\r
- if (yych != 'a') goto yy187;\r
-yy357:\r
- YYDEBUG(357, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy358;\r
- if (yych != 'i') goto yy187;\r
-yy358:\r
- YYDEBUG(358, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy359;\r
- if (yych != 't') goto yy187;\r
-yy359:\r
- YYDEBUG(359, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(360, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(361, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(362, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1603 "Zend/zend_language_scanner.l"\r
- {\r
- zend_class_entry *ce = CG(active_class_entry);\r
- if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {\r
- ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);\r
- } else {\r
- ZVAL_EMPTY_STRING(zendlval);\r
- }\r
- return T_TRAIT_C;\r
-}\r
-#line 4430 "Zend/zend_language_scanner.c"\r
-yy363:\r
- YYDEBUG(363, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy364;\r
- if (yych != 'a') goto yy187;\r
-yy364:\r
- YYDEBUG(364, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy365;\r
- if (yych != 's') goto yy187;\r
-yy365:\r
- YYDEBUG(365, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy366;\r
- if (yych != 's') goto yy187;\r
-yy366:\r
- YYDEBUG(366, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(367, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(368, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(369, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1585 "Zend/zend_language_scanner.l"\r
- {\r
- zend_class_entry *ce = CG(active_class_entry);\r
- if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {\r
- /* We create a special __CLASS__ constant that is going to be resolved\r
- at run-time */\r
- Z_STRLEN_P(zendlval) = sizeof("__CLASS__")-1;\r
- Z_STRVAL_P(zendlval) = estrndup("__CLASS__", Z_STRLEN_P(zendlval));\r
- zendlval->type = IS_CONSTANT;\r
- } else {\r
- if (ce && ce->name) {\r
- ZVAL_STRINGL(zendlval, ce->name, ce->name_length, 1);\r
- } else {\r
- ZVAL_EMPTY_STRING(zendlval);\r
- }\r
- }\r
- return T_CLASS_C;\r
-}\r
-#line 4478 "Zend/zend_language_scanner.c"\r
-yy370:\r
- YYDEBUG(370, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy371;\r
- if (yych != 'l') goto yy187;\r
-yy371:\r
- YYDEBUG(371, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy372;\r
- if (yych != 't') goto yy187;\r
-yy372:\r
- YYDEBUG(372, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '_') goto yy187;\r
- YYDEBUG(373, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy374;\r
- if (yych != 'c') goto yy187;\r
-yy374:\r
- YYDEBUG(374, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy375;\r
- if (yych != 'o') goto yy187;\r
-yy375:\r
- YYDEBUG(375, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'M') goto yy376;\r
- if (yych != 'm') goto yy187;\r
-yy376:\r
- YYDEBUG(376, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy377;\r
- if (yych != 'p') goto yy187;\r
-yy377:\r
- YYDEBUG(377, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy378;\r
- if (yych != 'i') goto yy187;\r
-yy378:\r
- YYDEBUG(378, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy379;\r
- if (yych != 'l') goto yy187;\r
-yy379:\r
- YYDEBUG(379, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy380;\r
- if (yych != 'e') goto yy187;\r
-yy380:\r
- YYDEBUG(380, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy381;\r
- if (yych != 'r') goto yy187;\r
-yy381:\r
- YYDEBUG(381, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(382, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1294 "Zend/zend_language_scanner.l"\r
- {\r
- return T_HALT_COMPILER;\r
-}\r
-#line 4544 "Zend/zend_language_scanner.c"\r
-yy383:\r
- YYDEBUG(383, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy387;\r
- if (yych == 's') goto yy387;\r
- goto yy187;\r
-yy384:\r
- YYDEBUG(384, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy385;\r
- if (yych != 'e') goto yy187;\r
-yy385:\r
- YYDEBUG(385, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(386, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1274 "Zend/zend_language_scanner.l"\r
- {\r
- return T_USE;\r
-}\r
-#line 4568 "Zend/zend_language_scanner.c"\r
-yy387:\r
- YYDEBUG(387, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy388;\r
- if (yych != 'e') goto yy187;\r
-yy388:\r
- YYDEBUG(388, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy389;\r
- if (yych != 't') goto yy187;\r
-yy389:\r
- YYDEBUG(389, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(390, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1322 "Zend/zend_language_scanner.l"\r
- {\r
- return T_UNSET;\r
-}\r
-#line 4591 "Zend/zend_language_scanner.c"\r
-yy391:\r
- YYDEBUG(391, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(7);\r
- yych = *YYCURSOR;\r
-yy392:\r
- YYDEBUG(392, *YYCURSOR);\r
- if (yych <= 'S') {\r
- if (yych <= 'D') {\r
- if (yych <= ' ') {\r
- if (yych == '\t') goto yy391;\r
- if (yych <= 0x1F) goto yy194;\r
- goto yy391;\r
- } else {\r
- if (yych <= 'A') {\r
- if (yych <= '@') goto yy194;\r
- goto yy396;\r
- } else {\r
- if (yych <= 'B') goto yy394;\r
- if (yych <= 'C') goto yy194;\r
- goto yy399;\r
- }\r
- }\r
- } else {\r
- if (yych <= 'I') {\r
- if (yych == 'F') goto yy400;\r
- if (yych <= 'H') goto yy194;\r
- goto yy401;\r
- } else {\r
- if (yych <= 'O') {\r
- if (yych <= 'N') goto yy194;\r
- goto yy395;\r
- } else {\r
- if (yych <= 'Q') goto yy194;\r
- if (yych <= 'R') goto yy398;\r
- goto yy397;\r
- }\r
- }\r
- }\r
- } else {\r
- if (yych <= 'f') {\r
- if (yych <= 'a') {\r
- if (yych == 'U') goto yy393;\r
- if (yych <= '`') goto yy194;\r
- goto yy396;\r
- } else {\r
- if (yych <= 'c') {\r
- if (yych <= 'b') goto yy394;\r
- goto yy194;\r
- } else {\r
- if (yych <= 'd') goto yy399;\r
- if (yych <= 'e') goto yy194;\r
- goto yy400;\r
- }\r
- }\r
- } else {\r
- if (yych <= 'q') {\r
- if (yych <= 'i') {\r
- if (yych <= 'h') goto yy194;\r
- goto yy401;\r
- } else {\r
- if (yych == 'o') goto yy395;\r
- goto yy194;\r
- }\r
- } else {\r
- if (yych <= 's') {\r
- if (yych <= 'r') goto yy398;\r
- goto yy397;\r
- } else {\r
- if (yych != 'u') goto yy194;\r
- }\r
- }\r
- }\r
- }\r
-yy393:\r
- YYDEBUG(393, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy460;\r
- if (yych == 'n') goto yy460;\r
- goto yy194;\r
-yy394:\r
- YYDEBUG(394, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych == 'I') goto yy447;\r
- if (yych <= 'N') goto yy194;\r
- goto yy448;\r
- } else {\r
- if (yych <= 'i') {\r
- if (yych <= 'h') goto yy194;\r
- goto yy447;\r
- } else {\r
- if (yych == 'o') goto yy448;\r
- goto yy194;\r
- }\r
- }\r
-yy395:\r
- YYDEBUG(395, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'B') goto yy439;\r
- if (yych == 'b') goto yy439;\r
- goto yy194;\r
-yy396:\r
- YYDEBUG(396, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy432;\r
- if (yych == 'r') goto yy432;\r
- goto yy194;\r
-yy397:\r
- YYDEBUG(397, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy424;\r
- if (yych == 't') goto yy424;\r
- goto yy194;\r
-yy398:\r
- YYDEBUG(398, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy422;\r
- if (yych == 'e') goto yy422;\r
- goto yy194;\r
-yy399:\r
- YYDEBUG(399, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy418;\r
- if (yych == 'o') goto yy418;\r
- goto yy194;\r
-yy400:\r
- YYDEBUG(400, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy411;\r
- if (yych == 'l') goto yy411;\r
- goto yy194;\r
-yy401:\r
- YYDEBUG(401, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy402;\r
- if (yych != 'n') goto yy194;\r
-yy402:\r
- YYDEBUG(402, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy403;\r
- if (yych != 't') goto yy194;\r
-yy403:\r
- YYDEBUG(403, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy404;\r
- if (yych != 'e') goto yy406;\r
-yy404:\r
- YYDEBUG(404, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'G') goto yy409;\r
- if (yych == 'g') goto yy409;\r
- goto yy194;\r
-yy405:\r
- YYDEBUG(405, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy406:\r
- YYDEBUG(406, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy405;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy405;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(407, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(408, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1222 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INT_CAST;\r
-}\r
-#line 4767 "Zend/zend_language_scanner.c"\r
-yy409:\r
- YYDEBUG(409, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy410;\r
- if (yych != 'e') goto yy194;\r
-yy410:\r
- YYDEBUG(410, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy405;\r
- if (yych == 'r') goto yy405;\r
- goto yy194;\r
-yy411:\r
- YYDEBUG(411, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy412;\r
- if (yych != 'o') goto yy194;\r
-yy412:\r
- YYDEBUG(412, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy413;\r
- if (yych != 'a') goto yy194;\r
-yy413:\r
- YYDEBUG(413, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy414;\r
- if (yych != 't') goto yy194;\r
-yy414:\r
- YYDEBUG(414, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(415, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy414;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy414;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(416, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(417, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1226 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DOUBLE_CAST;\r
-}\r
-#line 4815 "Zend/zend_language_scanner.c"\r
-yy418:\r
- YYDEBUG(418, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy419;\r
- if (yych != 'u') goto yy194;\r
-yy419:\r
- YYDEBUG(419, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'B') goto yy420;\r
- if (yych != 'b') goto yy194;\r
-yy420:\r
- YYDEBUG(420, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy421;\r
- if (yych != 'l') goto yy194;\r
-yy421:\r
- YYDEBUG(421, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy414;\r
- if (yych == 'e') goto yy414;\r
- goto yy194;\r
-yy422:\r
- YYDEBUG(422, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy423;\r
- if (yych != 'a') goto yy194;\r
-yy423:\r
- YYDEBUG(423, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy414;\r
- if (yych == 'l') goto yy414;\r
- goto yy194;\r
-yy424:\r
- YYDEBUG(424, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy425;\r
- if (yych != 'r') goto yy194;\r
-yy425:\r
- YYDEBUG(425, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy426;\r
- if (yych != 'i') goto yy194;\r
-yy426:\r
- YYDEBUG(426, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy427;\r
- if (yych != 'n') goto yy194;\r
-yy427:\r
- YYDEBUG(427, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'G') goto yy428;\r
- if (yych != 'g') goto yy194;\r
-yy428:\r
- YYDEBUG(428, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(429, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy428;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy428;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(430, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(431, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1230 "Zend/zend_language_scanner.l"\r
- {\r
- return T_STRING_CAST;\r
-}\r
-#line 4889 "Zend/zend_language_scanner.c"\r
-yy432:\r
- YYDEBUG(432, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy433;\r
- if (yych != 'r') goto yy194;\r
-yy433:\r
- YYDEBUG(433, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy434;\r
- if (yych != 'a') goto yy194;\r
-yy434:\r
- YYDEBUG(434, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'Y') goto yy435;\r
- if (yych != 'y') goto yy194;\r
-yy435:\r
- YYDEBUG(435, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(436, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy435;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy435;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(437, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(438, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1234 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ARRAY_CAST;\r
-}\r
-#line 4926 "Zend/zend_language_scanner.c"\r
-yy439:\r
- YYDEBUG(439, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'J') goto yy440;\r
- if (yych != 'j') goto yy194;\r
-yy440:\r
- YYDEBUG(440, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy441;\r
- if (yych != 'e') goto yy194;\r
-yy441:\r
- YYDEBUG(441, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy442;\r
- if (yych != 'c') goto yy194;\r
-yy442:\r
- YYDEBUG(442, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy443;\r
- if (yych != 't') goto yy194;\r
-yy443:\r
- YYDEBUG(443, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(444, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy443;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy443;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(445, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(446, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1238 "Zend/zend_language_scanner.l"\r
- {\r
- return T_OBJECT_CAST;\r
-}\r
-#line 4968 "Zend/zend_language_scanner.c"\r
-yy447:\r
- YYDEBUG(447, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy457;\r
- if (yych == 'n') goto yy457;\r
- goto yy194;\r
-yy448:\r
- YYDEBUG(448, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy449;\r
- if (yych != 'o') goto yy194;\r
-yy449:\r
- YYDEBUG(449, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy450;\r
- if (yych != 'l') goto yy194;\r
-yy450:\r
- YYDEBUG(450, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy455;\r
- if (yych == 'e') goto yy455;\r
- goto yy452;\r
-yy451:\r
- YYDEBUG(451, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy452:\r
- YYDEBUG(452, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy451;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy451;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(453, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(454, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1242 "Zend/zend_language_scanner.l"\r
- {\r
- return T_BOOL_CAST;\r
-}\r
-#line 5013 "Zend/zend_language_scanner.c"\r
-yy455:\r
- YYDEBUG(455, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy456;\r
- if (yych != 'a') goto yy194;\r
-yy456:\r
- YYDEBUG(456, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy451;\r
- if (yych == 'n') goto yy451;\r
- goto yy194;\r
-yy457:\r
- YYDEBUG(457, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy458;\r
- if (yych != 'a') goto yy194;\r
-yy458:\r
- YYDEBUG(458, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy459;\r
- if (yych != 'r') goto yy194;\r
-yy459:\r
- YYDEBUG(459, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'Y') goto yy428;\r
- if (yych == 'y') goto yy428;\r
- goto yy194;\r
-yy460:\r
- YYDEBUG(460, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy461;\r
- if (yych != 's') goto yy194;\r
-yy461:\r
- YYDEBUG(461, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy462;\r
- if (yych != 'e') goto yy194;\r
-yy462:\r
- YYDEBUG(462, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy463;\r
- if (yych != 't') goto yy194;\r
-yy463:\r
- YYDEBUG(463, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(464, *YYCURSOR);\r
- if (yych <= 0x1F) {\r
- if (yych == '\t') goto yy463;\r
- goto yy194;\r
- } else {\r
- if (yych <= ' ') goto yy463;\r
- if (yych != ')') goto yy194;\r
- }\r
- YYDEBUG(465, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(466, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1246 "Zend/zend_language_scanner.l"\r
- {\r
- return T_UNSET_CAST;\r
-}\r
-#line 5077 "Zend/zend_language_scanner.c"\r
-yy467:\r
- YYDEBUG(467, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy468;\r
- if (yych != 'r') goto yy187;\r
-yy468:\r
- YYDEBUG(468, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(469, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1218 "Zend/zend_language_scanner.l"\r
- {\r
- return T_VAR;\r
-}\r
-#line 5095 "Zend/zend_language_scanner.c"\r
-yy470:\r
- YYDEBUG(470, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'M') goto yy474;\r
- if (yych == 'm') goto yy474;\r
- goto yy187;\r
-yy471:\r
- YYDEBUG(471, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'W') goto yy472;\r
- if (yych != 'w') goto yy187;\r
-yy472:\r
- YYDEBUG(472, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(473, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1210 "Zend/zend_language_scanner.l"\r
- {\r
- return T_NEW;\r
-}\r
-#line 5119 "Zend/zend_language_scanner.c"\r
-yy474:\r
- YYDEBUG(474, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy475;\r
- if (yych != 'e') goto yy187;\r
-yy475:\r
- YYDEBUG(475, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy476;\r
- if (yych != 's') goto yy187;\r
-yy476:\r
- YYDEBUG(476, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy477;\r
- if (yych != 'p') goto yy187;\r
-yy477:\r
- YYDEBUG(477, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy478;\r
- if (yych != 'a') goto yy187;\r
-yy478:\r
- YYDEBUG(478, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy479;\r
- if (yych != 'c') goto yy187;\r
-yy479:\r
- YYDEBUG(479, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy480;\r
- if (yych != 'e') goto yy187;\r
-yy480:\r
- YYDEBUG(480, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(481, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1270 "Zend/zend_language_scanner.l"\r
- {\r
- return T_NAMESPACE;\r
-}\r
-#line 5162 "Zend/zend_language_scanner.c"\r
-yy482:\r
- YYDEBUG(482, *YYCURSOR);\r
- yyaccept = 3;\r
- YYMARKER = ++YYCURSOR;\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- YYDEBUG(483, *YYCURSOR);\r
- if (yych <= 'D') {\r
- if (yych <= '/') goto yy190;\r
- if (yych <= '9') goto yy482;\r
- goto yy190;\r
- } else {\r
- if (yych <= 'E') goto yy193;\r
- if (yych == 'e') goto yy193;\r
- goto yy190;\r
- }\r
-yy484:\r
- YYDEBUG(484, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(485, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1398 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CONCAT_EQUAL;\r
-}\r
-#line 5188 "Zend/zend_language_scanner.c"\r
-yy486:\r
- YYDEBUG(486, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych != '.') goto yy194;\r
- YYDEBUG(487, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(488, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1206 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ELLIPSIS;\r
-}\r
-#line 5201 "Zend/zend_language_scanner.c"\r
-yy489:\r
- YYDEBUG(489, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(490, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1198 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PAAMAYIM_NEKUDOTAYIM;\r
-}\r
-#line 5211 "Zend/zend_language_scanner.c"\r
-yy491:\r
- YYDEBUG(491, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy492:\r
- YYDEBUG(492, *YYCURSOR);\r
- if (yych <= '\f') {\r
- if (yych <= 0x08) goto yy141;\r
- if (yych <= '\n') goto yy491;\r
- goto yy141;\r
- } else {\r
- if (yych <= '\r') goto yy491;\r
- if (yych == ' ') goto yy491;\r
- goto yy141;\r
- }\r
-yy493:\r
- YYDEBUG(493, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(494, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1378 "Zend/zend_language_scanner.l"\r
- {\r
- return T_MINUS_EQUAL;\r
-}\r
-#line 5237 "Zend/zend_language_scanner.c"\r
-yy495:\r
- YYDEBUG(495, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(496, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1346 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DEC;\r
-}\r
-#line 5247 "Zend/zend_language_scanner.c"\r
-yy497:\r
- YYDEBUG(497, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(498, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1170 "Zend/zend_language_scanner.l"\r
- {\r
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);\r
- return T_OBJECT_OPERATOR;\r
-}\r
-#line 5258 "Zend/zend_language_scanner.c"\r
-yy499:\r
- YYDEBUG(499, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych == 'I') goto yy506;\r
- if (yych <= 'N') goto yy187;\r
- goto yy507;\r
- } else {\r
- if (yych <= 'i') {\r
- if (yych <= 'h') goto yy187;\r
- goto yy506;\r
- } else {\r
- if (yych == 'o') goto yy507;\r
- goto yy187;\r
- }\r
- }\r
-yy500:\r
- YYDEBUG(500, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'B') goto yy501;\r
- if (yych != 'b') goto yy187;\r
-yy501:\r
- YYDEBUG(501, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy502;\r
- if (yych != 'l') goto yy187;\r
-yy502:\r
- YYDEBUG(502, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy503;\r
- if (yych != 'i') goto yy187;\r
-yy503:\r
- YYDEBUG(503, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy504;\r
- if (yych != 'c') goto yy187;\r
-yy504:\r
- YYDEBUG(504, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(505, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1318 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PUBLIC;\r
-}\r
-#line 5307 "Zend/zend_language_scanner.c"\r
-yy506:\r
- YYDEBUG(506, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'V') {\r
- if (yych == 'N') goto yy515;\r
- if (yych <= 'U') goto yy187;\r
- goto yy516;\r
- } else {\r
- if (yych <= 'n') {\r
- if (yych <= 'm') goto yy187;\r
- goto yy515;\r
- } else {\r
- if (yych == 'v') goto yy516;\r
- goto yy187;\r
- }\r
- }\r
-yy507:\r
- YYDEBUG(507, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy508;\r
- if (yych != 't') goto yy187;\r
-yy508:\r
- YYDEBUG(508, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy509;\r
- if (yych != 'e') goto yy187;\r
-yy509:\r
- YYDEBUG(509, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy510;\r
- if (yych != 'c') goto yy187;\r
-yy510:\r
- YYDEBUG(510, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy511;\r
- if (yych != 't') goto yy187;\r
-yy511:\r
- YYDEBUG(511, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy512;\r
- if (yych != 'e') goto yy187;\r
-yy512:\r
- YYDEBUG(512, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy513;\r
- if (yych != 'd') goto yy187;\r
-yy513:\r
- YYDEBUG(513, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(514, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1314 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PROTECTED;\r
-}\r
-#line 5366 "Zend/zend_language_scanner.c"\r
-yy515:\r
- YYDEBUG(515, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy521;\r
- if (yych == 't') goto yy521;\r
- goto yy187;\r
-yy516:\r
- YYDEBUG(516, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy517;\r
- if (yych != 'a') goto yy187;\r
-yy517:\r
- YYDEBUG(517, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy518;\r
- if (yych != 't') goto yy187;\r
-yy518:\r
- YYDEBUG(518, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy519;\r
- if (yych != 'e') goto yy187;\r
-yy519:\r
- YYDEBUG(519, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(520, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1310 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PRIVATE;\r
-}\r
-#line 5400 "Zend/zend_language_scanner.c"\r
-yy521:\r
- YYDEBUG(521, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(522, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1146 "Zend/zend_language_scanner.l"\r
- {\r
- return T_PRINT;\r
-}\r
-#line 5413 "Zend/zend_language_scanner.c"\r
-yy523:\r
- YYDEBUG(523, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy528;\r
- if (yych == 'o') goto yy528;\r
- goto yy187;\r
-yy524:\r
- YYDEBUG(524, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy525;\r
- if (yych != 't') goto yy187;\r
-yy525:\r
- YYDEBUG(525, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy526;\r
- if (yych != 'o') goto yy187;\r
-yy526:\r
- YYDEBUG(526, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(527, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1138 "Zend/zend_language_scanner.l"\r
- {\r
- return T_GOTO;\r
-}\r
-#line 5442 "Zend/zend_language_scanner.c"\r
-yy528:\r
- YYDEBUG(528, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'B') goto yy529;\r
- if (yych != 'b') goto yy187;\r
-yy529:\r
- YYDEBUG(529, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy530;\r
- if (yych != 'a') goto yy187;\r
-yy530:\r
- YYDEBUG(530, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy531;\r
- if (yych != 'l') goto yy187;\r
-yy531:\r
- YYDEBUG(531, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(532, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1282 "Zend/zend_language_scanner.l"\r
- {\r
- return T_GLOBAL;\r
-}\r
-#line 5470 "Zend/zend_language_scanner.c"\r
-yy533:\r
- YYDEBUG(533, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '<') goto yy541;\r
- goto yy194;\r
-yy534:\r
- YYDEBUG(534, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy181;\r
-yy535:\r
- YYDEBUG(535, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy179;\r
-yy536:\r
- YYDEBUG(536, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy537;\r
- if (yych != 'e') goto yy187;\r
-yy537:\r
- YYDEBUG(537, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy538;\r
- if (yych != 'a') goto yy187;\r
-yy538:\r
- YYDEBUG(538, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'K') goto yy539;\r
- if (yych != 'k') goto yy187;\r
-yy539:\r
- YYDEBUG(539, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(540, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1130 "Zend/zend_language_scanner.l"\r
- {\r
- return T_BREAK;\r
-}\r
-#line 5511 "Zend/zend_language_scanner.c"\r
-yy541:\r
- YYDEBUG(541, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == '<') goto yy270;\r
- goto yy194;\r
-yy542:\r
- YYDEBUG(542, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy549;\r
- if (yych == 'a') goto yy549;\r
- goto yy187;\r
-yy543:\r
- YYDEBUG(543, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy544;\r
- if (yych != 'i') goto yy187;\r
-yy544:\r
- YYDEBUG(544, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy545;\r
- if (yych != 't') goto yy187;\r
-yy545:\r
- YYDEBUG(545, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy546;\r
- if (yych != 'c') goto yy187;\r
-yy546:\r
- YYDEBUG(546, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy547;\r
- if (yych != 'h') goto yy187;\r
-yy547:\r
- YYDEBUG(547, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(548, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1114 "Zend/zend_language_scanner.l"\r
- {\r
- return T_SWITCH;\r
-}\r
-#line 5555 "Zend/zend_language_scanner.c"\r
-yy549:\r
- YYDEBUG(549, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy550;\r
- if (yych != 't') goto yy187;\r
-yy550:\r
- YYDEBUG(550, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy551;\r
- if (yych != 'i') goto yy187;\r
-yy551:\r
- YYDEBUG(551, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy552;\r
- if (yych != 'c') goto yy187;\r
-yy552:\r
- YYDEBUG(552, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(553, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1298 "Zend/zend_language_scanner.l"\r
- {\r
- return T_STATIC;\r
-}\r
-#line 5583 "Zend/zend_language_scanner.c"\r
-yy554:\r
- YYDEBUG(554, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy565;\r
- if (yych == 's') goto yy565;\r
- goto yy187;\r
-yy555:\r
- YYDEBUG(555, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy563;\r
- if (yych == 'd') goto yy563;\r
- goto yy187;\r
-yy556:\r
- YYDEBUG(556, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy559;\r
- if (yych == 'r') goto yy559;\r
- goto yy187;\r
-yy557:\r
- YYDEBUG(557, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(558, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1110 "Zend/zend_language_scanner.l"\r
- {\r
- return T_AS;\r
-}\r
-#line 5614 "Zend/zend_language_scanner.c"\r
-yy559:\r
- YYDEBUG(559, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy560;\r
- if (yych != 'a') goto yy187;\r
-yy560:\r
- YYDEBUG(560, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'Y') goto yy561;\r
- if (yych != 'y') goto yy187;\r
-yy561:\r
- YYDEBUG(561, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(562, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1334 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ARRAY;\r
-}\r
-#line 5637 "Zend/zend_language_scanner.c"\r
-yy563:\r
- YYDEBUG(563, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(564, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1438 "Zend/zend_language_scanner.l"\r
- {\r
- return T_LOGICAL_AND;\r
-}\r
-#line 5650 "Zend/zend_language_scanner.c"\r
-yy565:\r
- YYDEBUG(565, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy566;\r
- if (yych != 't') goto yy187;\r
-yy566:\r
- YYDEBUG(566, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy567;\r
- if (yych != 'r') goto yy187;\r
-yy567:\r
- YYDEBUG(567, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy568;\r
- if (yych != 'a') goto yy187;\r
-yy568:\r
- YYDEBUG(568, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy569;\r
- if (yych != 'c') goto yy187;\r
-yy569:\r
- YYDEBUG(569, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy570;\r
- if (yych != 't') goto yy187;\r
-yy570:\r
- YYDEBUG(570, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(571, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1302 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ABSTRACT;\r
-}\r
-#line 5688 "Zend/zend_language_scanner.c"\r
-yy572:\r
- YYDEBUG(572, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy573;\r
- if (yych != 'i') goto yy187;\r
-yy573:\r
- YYDEBUG(573, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy574;\r
- if (yych != 'l') goto yy187;\r
-yy574:\r
- YYDEBUG(574, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy575;\r
- if (yych != 'e') goto yy187;\r
-yy575:\r
- YYDEBUG(575, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(576, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1070 "Zend/zend_language_scanner.l"\r
- {\r
- return T_WHILE;\r
-}\r
-#line 5716 "Zend/zend_language_scanner.c"\r
-yy577:\r
- YYDEBUG(577, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(578, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1054 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IF;\r
-}\r
-#line 5729 "Zend/zend_language_scanner.c"\r
-yy579:\r
- YYDEBUG(579, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy621;\r
- if (yych == 'p') goto yy621;\r
- goto yy187;\r
-yy580:\r
- YYDEBUG(580, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'T') {\r
- if (yych <= 'C') {\r
- if (yych <= 'B') goto yy187;\r
- goto yy588;\r
- } else {\r
- if (yych <= 'R') goto yy187;\r
- if (yych <= 'S') goto yy586;\r
- goto yy587;\r
- }\r
- } else {\r
- if (yych <= 'r') {\r
- if (yych == 'c') goto yy588;\r
- goto yy187;\r
- } else {\r
- if (yych <= 's') goto yy586;\r
- if (yych <= 't') goto yy587;\r
- goto yy187;\r
- }\r
- }\r
-yy581:\r
- YYDEBUG(581, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy582;\r
- if (yych != 's') goto yy187;\r
-yy582:\r
- YYDEBUG(582, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy583;\r
- if (yych != 'e') goto yy187;\r
-yy583:\r
- YYDEBUG(583, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy584;\r
- if (yych != 't') goto yy187;\r
-yy584:\r
- YYDEBUG(584, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(585, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1286 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ISSET;\r
-}\r
-#line 5785 "Zend/zend_language_scanner.c"\r
-yy586:\r
- YYDEBUG(586, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy607;\r
- if (yych == 't') goto yy607;\r
- goto yy187;\r
-yy587:\r
- YYDEBUG(587, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy600;\r
- if (yych == 'e') goto yy600;\r
- goto yy187;\r
-yy588:\r
- YYDEBUG(588, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy589;\r
- if (yych != 'l') goto yy187;\r
-yy589:\r
- YYDEBUG(589, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy590;\r
- if (yych != 'u') goto yy187;\r
-yy590:\r
- YYDEBUG(590, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy591;\r
- if (yych != 'd') goto yy187;\r
-yy591:\r
- YYDEBUG(591, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy592;\r
- if (yych != 'e') goto yy187;\r
-yy592:\r
- YYDEBUG(592, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '9') {\r
- if (yych >= '0') goto yy186;\r
- } else {\r
- if (yych <= '@') goto yy593;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych <= '_') goto yy594;\r
- } else {\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy593:\r
- YYDEBUG(593, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1254 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INCLUDE;\r
-}\r
-#line 5843 "Zend/zend_language_scanner.c"\r
-yy594:\r
- YYDEBUG(594, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy595;\r
- if (yych != 'o') goto yy187;\r
-yy595:\r
- YYDEBUG(595, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy596;\r
- if (yych != 'n') goto yy187;\r
-yy596:\r
- YYDEBUG(596, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy597;\r
- if (yych != 'c') goto yy187;\r
-yy597:\r
- YYDEBUG(597, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy598;\r
- if (yych != 'e') goto yy187;\r
-yy598:\r
- YYDEBUG(598, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(599, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1258 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INCLUDE_ONCE;\r
-}\r
-#line 5876 "Zend/zend_language_scanner.c"\r
-yy600:\r
- YYDEBUG(600, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy601;\r
- if (yych != 'r') goto yy187;\r
-yy601:\r
- YYDEBUG(601, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'F') goto yy602;\r
- if (yych != 'f') goto yy187;\r
-yy602:\r
- YYDEBUG(602, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy603;\r
- if (yych != 'a') goto yy187;\r
-yy603:\r
- YYDEBUG(603, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy604;\r
- if (yych != 'c') goto yy187;\r
-yy604:\r
- YYDEBUG(604, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy605;\r
- if (yych != 'e') goto yy187;\r
-yy605:\r
- YYDEBUG(605, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(606, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1154 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INTERFACE;\r
-}\r
-#line 5914 "Zend/zend_language_scanner.c"\r
-yy607:\r
- YYDEBUG(607, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'E') {\r
- if (yych == 'A') goto yy608;\r
- if (yych <= 'D') goto yy187;\r
- goto yy609;\r
- } else {\r
- if (yych <= 'a') {\r
- if (yych <= '`') goto yy187;\r
- } else {\r
- if (yych == 'e') goto yy609;\r
- goto yy187;\r
- }\r
- }\r
-yy608:\r
- YYDEBUG(608, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy615;\r
- if (yych == 'n') goto yy615;\r
- goto yy187;\r
-yy609:\r
- YYDEBUG(609, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy610;\r
- if (yych != 'a') goto yy187;\r
-yy610:\r
- YYDEBUG(610, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy611;\r
- if (yych != 'd') goto yy187;\r
-yy611:\r
- YYDEBUG(611, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy612;\r
- if (yych != 'o') goto yy187;\r
-yy612:\r
- YYDEBUG(612, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'F') goto yy613;\r
- if (yych != 'f') goto yy187;\r
-yy613:\r
- YYDEBUG(613, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(614, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1278 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INSTEADOF;\r
-}\r
-#line 5968 "Zend/zend_language_scanner.c"\r
-yy615:\r
- YYDEBUG(615, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy616;\r
- if (yych != 'c') goto yy187;\r
-yy616:\r
- YYDEBUG(616, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy617;\r
- if (yych != 'e') goto yy187;\r
-yy617:\r
- YYDEBUG(617, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy618;\r
- if (yych != 'o') goto yy187;\r
-yy618:\r
- YYDEBUG(618, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'F') goto yy619;\r
- if (yych != 'f') goto yy187;\r
-yy619:\r
- YYDEBUG(619, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(620, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1106 "Zend/zend_language_scanner.l"\r
- {\r
- return T_INSTANCEOF;\r
-}\r
-#line 6001 "Zend/zend_language_scanner.c"\r
-yy621:\r
- YYDEBUG(621, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy622;\r
- if (yych != 'l') goto yy187;\r
-yy622:\r
- YYDEBUG(622, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy623;\r
- if (yych != 'e') goto yy187;\r
-yy623:\r
- YYDEBUG(623, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'M') goto yy624;\r
- if (yych != 'm') goto yy187;\r
-yy624:\r
- YYDEBUG(624, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy625;\r
- if (yych != 'e') goto yy187;\r
-yy625:\r
- YYDEBUG(625, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy626;\r
- if (yych != 'n') goto yy187;\r
-yy626:\r
- YYDEBUG(626, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy627;\r
- if (yych != 't') goto yy187;\r
-yy627:\r
- YYDEBUG(627, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy628;\r
- if (yych != 's') goto yy187;\r
-yy628:\r
- YYDEBUG(628, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(629, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1166 "Zend/zend_language_scanner.l"\r
- {\r
- return T_IMPLEMENTS;\r
-}\r
-#line 6049 "Zend/zend_language_scanner.c"\r
-yy630:\r
- YYDEBUG(630, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy638;\r
- if (yych == 'r') goto yy638;\r
- goto yy187;\r
-yy631:\r
- YYDEBUG(631, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'Y') {\r
- if (yych == 'A') goto yy634;\r
- if (yych <= 'X') goto yy187;\r
- } else {\r
- if (yych <= 'a') {\r
- if (yych <= '`') goto yy187;\r
- goto yy634;\r
- } else {\r
- if (yych != 'y') goto yy187;\r
- }\r
- }\r
- YYDEBUG(632, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(633, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1038 "Zend/zend_language_scanner.l"\r
- {\r
- return T_TRY;\r
-}\r
-#line 6081 "Zend/zend_language_scanner.c"\r
-yy634:\r
- YYDEBUG(634, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy635;\r
- if (yych != 'i') goto yy187;\r
-yy635:\r
- YYDEBUG(635, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy636;\r
- if (yych != 't') goto yy187;\r
-yy636:\r
- YYDEBUG(636, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(637, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1158 "Zend/zend_language_scanner.l"\r
- {\r
- return T_TRAIT;\r
-}\r
-#line 6104 "Zend/zend_language_scanner.c"\r
-yy638:\r
- YYDEBUG(638, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy639;\r
- if (yych != 'o') goto yy187;\r
-yy639:\r
- YYDEBUG(639, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'W') goto yy640;\r
- if (yych != 'w') goto yy187;\r
-yy640:\r
- YYDEBUG(640, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(641, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1050 "Zend/zend_language_scanner.l"\r
- {\r
- return T_THROW;\r
-}\r
-#line 6127 "Zend/zend_language_scanner.c"\r
-yy642:\r
- YYDEBUG(642, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy643;\r
- if (yych != 'e') goto yy187;\r
-yy643:\r
- YYDEBUG(643, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy644;\r
- if (yych != 'l') goto yy187;\r
-yy644:\r
- YYDEBUG(644, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy645;\r
- if (yych != 'd') goto yy187;\r
-yy645:\r
- YYDEBUG(645, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(646, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1034 "Zend/zend_language_scanner.l"\r
- {\r
- return T_YIELD;\r
-}\r
-#line 6155 "Zend/zend_language_scanner.c"\r
-yy647:\r
- YYDEBUG(647, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'T') {\r
- if (yych == 'Q') goto yy649;\r
- if (yych <= 'S') goto yy187;\r
- } else {\r
- if (yych <= 'q') {\r
- if (yych <= 'p') goto yy187;\r
- goto yy649;\r
- } else {\r
- if (yych != 't') goto yy187;\r
- }\r
- }\r
- YYDEBUG(648, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy661;\r
- if (yych == 'u') goto yy661;\r
- goto yy187;\r
-yy649:\r
- YYDEBUG(649, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy650;\r
- if (yych != 'u') goto yy187;\r
-yy650:\r
- YYDEBUG(650, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy651;\r
- if (yych != 'i') goto yy187;\r
-yy651:\r
- YYDEBUG(651, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy652;\r
- if (yych != 'r') goto yy187;\r
-yy652:\r
- YYDEBUG(652, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy653;\r
- if (yych != 'e') goto yy187;\r
-yy653:\r
- YYDEBUG(653, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '9') {\r
- if (yych >= '0') goto yy186;\r
- } else {\r
- if (yych <= '@') goto yy654;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych <= '_') goto yy655;\r
- } else {\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy654:\r
- YYDEBUG(654, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1262 "Zend/zend_language_scanner.l"\r
- {\r
- return T_REQUIRE;\r
-}\r
-#line 6220 "Zend/zend_language_scanner.c"\r
-yy655:\r
- YYDEBUG(655, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy656;\r
- if (yych != 'o') goto yy187;\r
-yy656:\r
- YYDEBUG(656, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy657;\r
- if (yych != 'n') goto yy187;\r
-yy657:\r
- YYDEBUG(657, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy658;\r
- if (yych != 'c') goto yy187;\r
-yy658:\r
- YYDEBUG(658, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy659;\r
- if (yych != 'e') goto yy187;\r
-yy659:\r
- YYDEBUG(659, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(660, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1266 "Zend/zend_language_scanner.l"\r
- {\r
- return T_REQUIRE_ONCE;\r
-}\r
-#line 6253 "Zend/zend_language_scanner.c"\r
-yy661:\r
- YYDEBUG(661, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy662;\r
- if (yych != 'r') goto yy187;\r
-yy662:\r
- YYDEBUG(662, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy663;\r
- if (yych != 'n') goto yy187;\r
-yy663:\r
- YYDEBUG(663, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(664, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1030 "Zend/zend_language_scanner.l"\r
- {\r
- return T_RETURN;\r
-}\r
-#line 6276 "Zend/zend_language_scanner.c"\r
-yy665:\r
- YYDEBUG(665, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'T') {\r
- if (yych <= 'L') {\r
- if (yych <= 'K') goto yy187;\r
- goto yy688;\r
- } else {\r
- if (yych <= 'R') goto yy187;\r
- if (yych <= 'S') goto yy687;\r
- goto yy686;\r
- }\r
- } else {\r
- if (yych <= 'r') {\r
- if (yych == 'l') goto yy688;\r
- goto yy187;\r
- } else {\r
- if (yych <= 's') goto yy687;\r
- if (yych <= 't') goto yy686;\r
- goto yy187;\r
- }\r
- }\r
-yy666:\r
- YYDEBUG(666, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'O') {\r
- if (yych == 'A') goto yy678;\r
- if (yych <= 'N') goto yy187;\r
- goto yy679;\r
- } else {\r
- if (yych <= 'a') {\r
- if (yych <= '`') goto yy187;\r
- goto yy678;\r
- } else {\r
- if (yych == 'o') goto yy679;\r
- goto yy187;\r
- }\r
- }\r
-yy667:\r
- YYDEBUG(667, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy668;\r
- if (yych != 'n') goto yy187;\r
-yy668:\r
- YYDEBUG(668, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'T') {\r
- if (yych <= 'R') goto yy187;\r
- if (yych >= 'T') goto yy670;\r
- } else {\r
- if (yych <= 'r') goto yy187;\r
- if (yych <= 's') goto yy669;\r
- if (yych <= 't') goto yy670;\r
- goto yy187;\r
- }\r
-yy669:\r
- YYDEBUG(669, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy676;\r
- if (yych == 't') goto yy676;\r
- goto yy187;\r
-yy670:\r
- YYDEBUG(670, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy671;\r
- if (yych != 'i') goto yy187;\r
-yy671:\r
- YYDEBUG(671, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy672;\r
- if (yych != 'n') goto yy187;\r
-yy672:\r
- YYDEBUG(672, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy673;\r
- if (yych != 'u') goto yy187;\r
-yy673:\r
- YYDEBUG(673, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy674;\r
- if (yych != 'e') goto yy187;\r
-yy674:\r
- YYDEBUG(674, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(675, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1134 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CONTINUE;\r
-}\r
-#line 6370 "Zend/zend_language_scanner.c"\r
-yy676:\r
- YYDEBUG(676, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(677, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1026 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CONST;\r
-}\r
-#line 6383 "Zend/zend_language_scanner.c"\r
-yy678:\r
- YYDEBUG(678, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy683;\r
- if (yych == 's') goto yy683;\r
- goto yy187;\r
-yy679:\r
- YYDEBUG(679, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy680;\r
- if (yych != 'n') goto yy187;\r
-yy680:\r
- YYDEBUG(680, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy681;\r
- if (yych != 'e') goto yy187;\r
-yy681:\r
- YYDEBUG(681, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(682, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1214 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CLONE;\r
-}\r
-#line 6412 "Zend/zend_language_scanner.c"\r
-yy683:\r
- YYDEBUG(683, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy684;\r
- if (yych != 's') goto yy187;\r
-yy684:\r
- YYDEBUG(684, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(685, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1150 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CLASS;\r
-}\r
-#line 6430 "Zend/zend_language_scanner.c"\r
-yy686:\r
- YYDEBUG(686, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy697;\r
- if (yych == 'c') goto yy697;\r
- goto yy187;\r
-yy687:\r
- YYDEBUG(687, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy695;\r
- if (yych == 'e') goto yy695;\r
- goto yy187;\r
-yy688:\r
- YYDEBUG(688, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy689;\r
- if (yych != 'l') goto yy187;\r
-yy689:\r
- YYDEBUG(689, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy690;\r
- if (yych != 'a') goto yy187;\r
-yy690:\r
- YYDEBUG(690, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'B') goto yy691;\r
- if (yych != 'b') goto yy187;\r
-yy691:\r
- YYDEBUG(691, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy692;\r
- if (yych != 'l') goto yy187;\r
-yy692:\r
- YYDEBUG(692, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy693;\r
- if (yych != 'e') goto yy187;\r
-yy693:\r
- YYDEBUG(693, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(694, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1338 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CALLABLE;\r
-}\r
-#line 6480 "Zend/zend_language_scanner.c"\r
-yy695:\r
- YYDEBUG(695, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(696, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1122 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CASE;\r
-}\r
-#line 6493 "Zend/zend_language_scanner.c"\r
-yy697:\r
- YYDEBUG(697, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy698;\r
- if (yych != 'h') goto yy187;\r
-yy698:\r
- YYDEBUG(698, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(699, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1042 "Zend/zend_language_scanner.l"\r
- {\r
- return T_CATCH;\r
-}\r
-#line 6511 "Zend/zend_language_scanner.c"\r
-yy700:\r
- YYDEBUG(700, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy717;\r
- if (yych == 'n') goto yy717;\r
- goto yy187;\r
-yy701:\r
- YYDEBUG(701, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy710;\r
- if (yych == 'r') goto yy710;\r
- goto yy187;\r
-yy702:\r
- YYDEBUG(702, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy703;\r
- if (yych != 'n') goto yy187;\r
-yy703:\r
- YYDEBUG(703, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy704;\r
- if (yych != 'c') goto yy187;\r
-yy704:\r
- YYDEBUG(704, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy705;\r
- if (yych != 't') goto yy187;\r
-yy705:\r
- YYDEBUG(705, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy706;\r
- if (yych != 'i') goto yy187;\r
-yy706:\r
- YYDEBUG(706, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy707;\r
- if (yych != 'o') goto yy187;\r
-yy707:\r
- YYDEBUG(707, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy708;\r
- if (yych != 'n') goto yy187;\r
-yy708:\r
- YYDEBUG(708, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(709, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1022 "Zend/zend_language_scanner.l"\r
- {\r
- return T_FUNCTION;\r
-}\r
-#line 6566 "Zend/zend_language_scanner.c"\r
-yy710:\r
- YYDEBUG(710, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '@') {\r
- if (yych <= '/') goto yy711;\r
- if (yych <= '9') goto yy186;\r
- } else {\r
- if (yych == 'E') goto yy712;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= 'd') {\r
- if (yych != '`') goto yy186;\r
- } else {\r
- if (yych <= 'e') goto yy712;\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy711:\r
- YYDEBUG(711, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1082 "Zend/zend_language_scanner.l"\r
- {\r
- return T_FOR;\r
-}\r
-#line 6594 "Zend/zend_language_scanner.c"\r
-yy712:\r
- YYDEBUG(712, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy713;\r
- if (yych != 'a') goto yy187;\r
-yy713:\r
- YYDEBUG(713, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy714;\r
- if (yych != 'c') goto yy187;\r
-yy714:\r
- YYDEBUG(714, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy715;\r
- if (yych != 'h') goto yy187;\r
-yy715:\r
- YYDEBUG(715, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(716, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1090 "Zend/zend_language_scanner.l"\r
- {\r
- return T_FOREACH;\r
-}\r
-#line 6622 "Zend/zend_language_scanner.c"\r
-yy717:\r
- YYDEBUG(717, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy718;\r
- if (yych != 'a') goto yy187;\r
-yy718:\r
- YYDEBUG(718, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy719;\r
- if (yych != 'l') goto yy187;\r
-yy719:\r
- YYDEBUG(719, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '@') {\r
- if (yych <= '/') goto yy720;\r
- if (yych <= '9') goto yy186;\r
- } else {\r
- if (yych == 'L') goto yy721;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= 'k') {\r
- if (yych != '`') goto yy186;\r
- } else {\r
- if (yych <= 'l') goto yy721;\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy720:\r
- YYDEBUG(720, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1306 "Zend/zend_language_scanner.l"\r
- {\r
- return T_FINAL;\r
-}\r
-#line 6660 "Zend/zend_language_scanner.c"\r
-yy721:\r
- YYDEBUG(721, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'Y') goto yy722;\r
- if (yych != 'y') goto yy187;\r
-yy722:\r
- YYDEBUG(722, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(723, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1046 "Zend/zend_language_scanner.l"\r
- {\r
- return T_FINALLY;\r
-}\r
-#line 6678 "Zend/zend_language_scanner.c"\r
-yy724:\r
- YYDEBUG(724, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'F') {\r
- if (yych == 'C') goto yy730;\r
- if (yych <= 'E') goto yy187;\r
- goto yy731;\r
- } else {\r
- if (yych <= 'c') {\r
- if (yych <= 'b') goto yy187;\r
- goto yy730;\r
- } else {\r
- if (yych == 'f') goto yy731;\r
- goto yy187;\r
- }\r
- }\r
-yy725:\r
- YYDEBUG(725, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy728;\r
- if (yych == 'e') goto yy728;\r
- goto yy187;\r
-yy726:\r
- YYDEBUG(726, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(727, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1078 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DO;\r
-}\r
-#line 6713 "Zend/zend_language_scanner.c"\r
-yy728:\r
- YYDEBUG(728, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(729, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1018 "Zend/zend_language_scanner.l"\r
- {\r
- return T_EXIT;\r
-}\r
-#line 6726 "Zend/zend_language_scanner.c"\r
-yy730:\r
- YYDEBUG(730, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy737;\r
- if (yych == 'l') goto yy737;\r
- goto yy187;\r
-yy731:\r
- YYDEBUG(731, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy732;\r
- if (yych != 'a') goto yy187;\r
-yy732:\r
- YYDEBUG(732, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'U') goto yy733;\r
- if (yych != 'u') goto yy187;\r
-yy733:\r
- YYDEBUG(733, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy734;\r
- if (yych != 'l') goto yy187;\r
-yy734:\r
- YYDEBUG(734, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy735;\r
- if (yych != 't') goto yy187;\r
-yy735:\r
- YYDEBUG(735, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(736, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1126 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DEFAULT;\r
-}\r
-#line 6765 "Zend/zend_language_scanner.c"\r
-yy737:\r
- YYDEBUG(737, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy738;\r
- if (yych != 'a') goto yy187;\r
-yy738:\r
- YYDEBUG(738, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy739;\r
- if (yych != 'r') goto yy187;\r
-yy739:\r
- YYDEBUG(739, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy740;\r
- if (yych != 'e') goto yy187;\r
-yy740:\r
- YYDEBUG(740, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(741, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1098 "Zend/zend_language_scanner.l"\r
- {\r
- return T_DECLARE;\r
-}\r
-#line 6793 "Zend/zend_language_scanner.c"\r
-yy742:\r
- YYDEBUG(742, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy804;\r
- if (yych == 'h') goto yy804;\r
- goto yy187;\r
-yy743:\r
- YYDEBUG(743, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy798;\r
- if (yych == 's') goto yy798;\r
- goto yy187;\r
-yy744:\r
- YYDEBUG(744, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'P') goto yy794;\r
- if (yych == 'p') goto yy794;\r
- goto yy187;\r
-yy745:\r
- YYDEBUG(745, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy760;\r
- if (yych == 'd') goto yy760;\r
- goto yy187;\r
-yy746:\r
- YYDEBUG(746, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy757;\r
- if (yych == 'a') goto yy757;\r
- goto yy187;\r
-yy747:\r
- YYDEBUG(747, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych <= 'T') {\r
- if (yych == 'I') goto yy748;\r
- if (yych <= 'S') goto yy187;\r
- goto yy749;\r
- } else {\r
- if (yych <= 'i') {\r
- if (yych <= 'h') goto yy187;\r
- } else {\r
- if (yych == 't') goto yy749;\r
- goto yy187;\r
- }\r
- }\r
-yy748:\r
- YYDEBUG(748, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy755;\r
- if (yych == 't') goto yy755;\r
- goto yy187;\r
-yy749:\r
- YYDEBUG(749, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy750;\r
- if (yych != 'e') goto yy187;\r
-yy750:\r
- YYDEBUG(750, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'N') goto yy751;\r
- if (yych != 'n') goto yy187;\r
-yy751:\r
- YYDEBUG(751, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'D') goto yy752;\r
- if (yych != 'd') goto yy187;\r
-yy752:\r
- YYDEBUG(752, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'S') goto yy753;\r
- if (yych != 's') goto yy187;\r
-yy753:\r
- YYDEBUG(753, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(754, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1162 "Zend/zend_language_scanner.l"\r
- {\r
- return T_EXTENDS;\r
-}\r
-#line 6877 "Zend/zend_language_scanner.c"\r
-yy755:\r
- YYDEBUG(755, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(756, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1014 "Zend/zend_language_scanner.l"\r
- {\r
- return T_EXIT;\r
-}\r
-#line 6890 "Zend/zend_language_scanner.c"\r
-yy757:\r
- YYDEBUG(757, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy758;\r
- if (yych != 'l') goto yy187;\r
-yy758:\r
- YYDEBUG(758, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(759, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1250 "Zend/zend_language_scanner.l"\r
- {\r
- return T_EVAL;\r
-}\r
-#line 6908 "Zend/zend_language_scanner.c"\r
-yy760:\r
- YYDEBUG(760, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- YYDEBUG(-1, yych);\r
- switch (yych) {\r
- case 'D':\r
- case 'd': goto yy761;\r
- case 'F':\r
- case 'f': goto yy762;\r
- case 'I':\r
- case 'i': goto yy763;\r
- case 'S':\r
- case 's': goto yy764;\r
- case 'W':\r
- case 'w': goto yy765;\r
- default: goto yy187;\r
- }\r
-yy761:\r
- YYDEBUG(761, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy787;\r
- if (yych == 'e') goto yy787;\r
- goto yy187;\r
-yy762:\r
- YYDEBUG(762, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy779;\r
- if (yych == 'o') goto yy779;\r
- goto yy187;\r
-yy763:\r
- YYDEBUG(763, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'F') goto yy777;\r
- if (yych == 'f') goto yy777;\r
- goto yy187;\r
-yy764:\r
- YYDEBUG(764, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'W') goto yy771;\r
- if (yych == 'w') goto yy771;\r
- goto yy187;\r
-yy765:\r
- YYDEBUG(765, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy766;\r
- if (yych != 'h') goto yy187;\r
-yy766:\r
- YYDEBUG(766, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy767;\r
- if (yych != 'i') goto yy187;\r
-yy767:\r
- YYDEBUG(767, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy768;\r
- if (yych != 'l') goto yy187;\r
-yy768:\r
- YYDEBUG(768, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy769;\r
- if (yych != 'e') goto yy187;\r
-yy769:\r
- YYDEBUG(769, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(770, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1074 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDWHILE;\r
-}\r
-#line 6982 "Zend/zend_language_scanner.c"\r
-yy771:\r
- YYDEBUG(771, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'I') goto yy772;\r
- if (yych != 'i') goto yy187;\r
-yy772:\r
- YYDEBUG(772, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy773;\r
- if (yych != 't') goto yy187;\r
-yy773:\r
- YYDEBUG(773, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy774;\r
- if (yych != 'c') goto yy187;\r
-yy774:\r
- YYDEBUG(774, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy775;\r
- if (yych != 'h') goto yy187;\r
-yy775:\r
- YYDEBUG(775, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(776, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1118 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDSWITCH;\r
-}\r
-#line 7015 "Zend/zend_language_scanner.c"\r
-yy777:\r
- YYDEBUG(777, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(778, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1062 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDIF;\r
-}\r
-#line 7028 "Zend/zend_language_scanner.c"\r
-yy779:\r
- YYDEBUG(779, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy780;\r
- if (yych != 'r') goto yy187;\r
-yy780:\r
- YYDEBUG(780, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '@') {\r
- if (yych <= '/') goto yy781;\r
- if (yych <= '9') goto yy186;\r
- } else {\r
- if (yych == 'E') goto yy782;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= 'd') {\r
- if (yych != '`') goto yy186;\r
- } else {\r
- if (yych <= 'e') goto yy782;\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy781:\r
- YYDEBUG(781, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1086 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDFOR;\r
-}\r
-#line 7061 "Zend/zend_language_scanner.c"\r
-yy782:\r
- YYDEBUG(782, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy783;\r
- if (yych != 'a') goto yy187;\r
-yy783:\r
- YYDEBUG(783, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy784;\r
- if (yych != 'c') goto yy187;\r
-yy784:\r
- YYDEBUG(784, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'H') goto yy785;\r
- if (yych != 'h') goto yy187;\r
-yy785:\r
- YYDEBUG(785, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(786, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1094 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDFOREACH;\r
-}\r
-#line 7089 "Zend/zend_language_scanner.c"\r
-yy787:\r
- YYDEBUG(787, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'C') goto yy788;\r
- if (yych != 'c') goto yy187;\r
-yy788:\r
- YYDEBUG(788, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'L') goto yy789;\r
- if (yych != 'l') goto yy187;\r
-yy789:\r
- YYDEBUG(789, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'A') goto yy790;\r
- if (yych != 'a') goto yy187;\r
-yy790:\r
- YYDEBUG(790, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'R') goto yy791;\r
- if (yych != 'r') goto yy187;\r
-yy791:\r
- YYDEBUG(791, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy792;\r
- if (yych != 'e') goto yy187;\r
-yy792:\r
- YYDEBUG(792, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(793, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1102 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ENDDECLARE;\r
-}\r
-#line 7127 "Zend/zend_language_scanner.c"\r
-yy794:\r
- YYDEBUG(794, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'T') goto yy795;\r
- if (yych != 't') goto yy187;\r
-yy795:\r
- YYDEBUG(795, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'Y') goto yy796;\r
- if (yych != 'y') goto yy187;\r
-yy796:\r
- YYDEBUG(796, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(797, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1290 "Zend/zend_language_scanner.l"\r
- {\r
- return T_EMPTY;\r
-}\r
-#line 7150 "Zend/zend_language_scanner.c"\r
-yy798:\r
- YYDEBUG(798, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'E') goto yy799;\r
- if (yych != 'e') goto yy187;\r
-yy799:\r
- YYDEBUG(799, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '^') {\r
- if (yych <= '@') {\r
- if (yych <= '/') goto yy800;\r
- if (yych <= '9') goto yy186;\r
- } else {\r
- if (yych == 'I') goto yy801;\r
- if (yych <= 'Z') goto yy186;\r
- }\r
- } else {\r
- if (yych <= 'h') {\r
- if (yych != '`') goto yy186;\r
- } else {\r
- if (yych <= 'i') goto yy801;\r
- if (yych <= 'z') goto yy186;\r
- if (yych >= 0x7F) goto yy186;\r
- }\r
- }\r
-yy800:\r
- YYDEBUG(800, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1066 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ELSE;\r
-}\r
-#line 7183 "Zend/zend_language_scanner.c"\r
-yy801:\r
- YYDEBUG(801, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'F') goto yy802;\r
- if (yych != 'f') goto yy187;\r
-yy802:\r
- YYDEBUG(802, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(803, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1058 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ELSEIF;\r
-}\r
-#line 7201 "Zend/zend_language_scanner.c"\r
-yy804:\r
- YYDEBUG(804, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yych == 'O') goto yy805;\r
- if (yych != 'o') goto yy187;\r
-yy805:\r
- YYDEBUG(805, *YYCURSOR);\r
- ++YYCURSOR;\r
- if (yybm[0+(yych = *YYCURSOR)] & 4) {\r
- goto yy186;\r
- }\r
- YYDEBUG(806, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1142 "Zend/zend_language_scanner.l"\r
- {\r
- return T_ECHO;\r
-}\r
-#line 7219 "Zend/zend_language_scanner.c"\r
- }\r
-/* *********************************** */\r
-yyc_ST_LOOKING_FOR_PROPERTY:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 0, 0, 128, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 0, 0, 0, 0, 0, 0, \r
- 0, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 0, 0, 0, 0, 64, \r
- 0, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 0, 0, 0, 0, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- 64, 64, 64, 64, 64, 64, 64, 64, \r
- };\r
- YYDEBUG(807, *YYCURSOR);\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- if (yych <= '-') {\r
- if (yych <= '\r') {\r
- if (yych <= 0x08) goto yy815;\r
- if (yych <= '\n') goto yy809;\r
- if (yych <= '\f') goto yy815;\r
- } else {\r
- if (yych == ' ') goto yy809;\r
- if (yych <= ',') goto yy815;\r
- goto yy811;\r
- }\r
- } else {\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy815;\r
- if (yych <= 'Z') goto yy813;\r
- if (yych <= '^') goto yy815;\r
- goto yy813;\r
- } else {\r
- if (yych <= '`') goto yy815;\r
- if (yych <= 'z') goto yy813;\r
- if (yych <= '~') goto yy815;\r
- goto yy813;\r
- }\r
- }\r
-yy809:\r
- YYDEBUG(809, *YYCURSOR);\r
- ++YYCURSOR;\r
- yych = *YYCURSOR;\r
- goto yy821;\r
-yy810:\r
- YYDEBUG(810, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1175 "Zend/zend_language_scanner.l"\r
- {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 0); /* no copying - intentional */\r
- HANDLE_NEWLINES(yytext, yyleng);\r
- return T_WHITESPACE;\r
-}\r
-#line 7298 "Zend/zend_language_scanner.c"\r
-yy811:\r
- YYDEBUG(811, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) == '>') goto yy818;\r
-yy812:\r
- YYDEBUG(812, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1192 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(0);\r
- yy_pop_state(TSRMLS_C);\r
- goto restart;\r
-}\r
-#line 7312 "Zend/zend_language_scanner.c"\r
-yy813:\r
- YYDEBUG(813, *YYCURSOR);\r
- ++YYCURSOR;\r
- yych = *YYCURSOR;\r
- goto yy817;\r
-yy814:\r
- YYDEBUG(814, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1185 "Zend/zend_language_scanner.l"\r
- {\r
- yy_pop_state(TSRMLS_C);\r
- zend_copy_value(zendlval, yytext, yyleng);\r
- zendlval->type = IS_STRING;\r
- return T_STRING;\r
-}\r
-#line 7328 "Zend/zend_language_scanner.c"\r
-yy815:\r
- YYDEBUG(815, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy812;\r
-yy816:\r
- YYDEBUG(816, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy817:\r
- YYDEBUG(817, *YYCURSOR);\r
- if (yybm[0+yych] & 64) {\r
- goto yy816;\r
- }\r
- goto yy814;\r
-yy818:\r
- YYDEBUG(818, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(819, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1181 "Zend/zend_language_scanner.l"\r
- {\r
- return T_OBJECT_OPERATOR;\r
-}\r
-#line 7353 "Zend/zend_language_scanner.c"\r
-yy820:\r
- YYDEBUG(820, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy821:\r
- YYDEBUG(821, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy820;\r
- }\r
- goto yy810;\r
- }\r
-/* *********************************** */\r
-yyc_ST_LOOKING_FOR_VARNAME:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 0, 0, 0, 0, 0, 0, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 0, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 0, 0, 0, 0, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- 128, 128, 128, 128, 128, 128, 128, 128, \r
- };\r
- YYDEBUG(822, *YYCURSOR);\r
- YYFILL(2);\r
- yych = *YYCURSOR;\r
- if (yych <= '_') {\r
- if (yych <= '@') goto yy826;\r
- if (yych <= 'Z') goto yy824;\r
- if (yych <= '^') goto yy826;\r
- } else {\r
- if (yych <= '`') goto yy826;\r
- if (yych <= 'z') goto yy824;\r
- if (yych <= '~') goto yy826;\r
- }\r
-yy824:\r
- YYDEBUG(824, *YYCURSOR);\r
- yyaccept = 0;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= '_') {\r
- if (yych <= '@') {\r
- if (yych <= '/') goto yy825;\r
- if (yych <= '9') goto yy828;\r
- } else {\r
- if (yych <= '[') goto yy828;\r
- if (yych >= '_') goto yy828;\r
- }\r
- } else {\r
- if (yych <= '|') {\r
- if (yych <= '`') goto yy825;\r
- if (yych <= 'z') goto yy828;\r
- } else {\r
- if (yych != '~') goto yy828;\r
- }\r
- }\r
-yy825:\r
- YYDEBUG(825, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1490 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(0);\r
- yy_pop_state(TSRMLS_C);\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- goto restart;\r
-}\r
-#line 7445 "Zend/zend_language_scanner.c"\r
-yy826:\r
- YYDEBUG(826, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy825;\r
-yy827:\r
- YYDEBUG(827, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy828:\r
- YYDEBUG(828, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy827;\r
- }\r
- if (yych == '[') goto yy830;\r
- if (yych == '}') goto yy830;\r
- YYDEBUG(829, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- goto yy825;\r
-yy830:\r
- YYDEBUG(830, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(831, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1480 "Zend/zend_language_scanner.l"\r
- {\r
- yyless(yyleng - 1);\r
- zend_copy_value(zendlval, yytext, yyleng);\r
- zendlval->type = IS_STRING;\r
- yy_pop_state(TSRMLS_C);\r
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
- return T_STRING_VARNAME;\r
-}\r
-#line 7479 "Zend/zend_language_scanner.c"\r
- }\r
-/* *********************************** */\r
-yyc_ST_NOWDOC:\r
- YYDEBUG(832, *YYCURSOR);\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(834, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(835, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2310 "Zend/zend_language_scanner.l"\r
- {\r
- int newline = 0;\r
-\r
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));\r
-\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
-\r
- YYCURSOR--;\r
-\r
- while (YYCURSOR < YYLIMIT) {\r
- switch (*YYCURSOR++) {\r
- case '\r':\r
- if (*YYCURSOR == '\n') {\r
- YYCURSOR++;\r
- }\r
- /* fall through */\r
- case '\n':\r
- /* Check for ending label on the next line */\r
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {\r
- YYCTYPE *end = YYCURSOR + heredoc_label->length;\r
-\r
- if (*end == ';') {\r
- end++;\r
- }\r
-\r
- if (*end == '\n' || *end == '\r') {\r
- /* newline before label will be subtracted from returned text, but\r
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */\r
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {\r
- newline = 2; /* Windows newline */\r
- } else {\r
- newline = 1;\r
- }\r
-\r
- CG(increment_lineno) = 1; /* For newline before label */\r
- BEGIN(ST_END_HEREDOC);\r
-\r
- goto nowdoc_scan_done;\r
- }\r
- }\r
- /* fall through */\r
- default:\r
- continue;\r
- }\r
- }\r
-\r
-nowdoc_scan_done:\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-\r
- zend_copy_value(zendlval, yytext, yyleng - newline);\r
- zendlval->type = IS_STRING;\r
- HANDLE_NEWLINES(yytext, yyleng - newline);\r
- return T_ENCAPSED_AND_WHITESPACE;\r
-}\r
-#line 7547 "Zend/zend_language_scanner.c"\r
-/* *********************************** */\r
-yyc_ST_VAR_OFFSET:\r
- {\r
- static const unsigned char yybm[] = {\r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 0, 0, 0, 0, 0, 0, 0, 0, \r
- 240, 240, 112, 112, 112, 112, 112, 112, \r
- 112, 112, 0, 0, 0, 0, 0, 0, \r
- 0, 80, 80, 80, 80, 80, 80, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 0, 0, 0, 0, 16, \r
- 0, 80, 80, 80, 80, 80, 80, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 0, 0, 0, 0, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- 16, 16, 16, 16, 16, 16, 16, 16, \r
- };\r
- YYDEBUG(836, *YYCURSOR);\r
- YYFILL(3);\r
- yych = *YYCURSOR;\r
- if (yych <= '/') {\r
- if (yych <= ' ') {\r
- if (yych <= '\f') {\r
- if (yych <= 0x08) goto yy850;\r
- if (yych <= '\n') goto yy846;\r
- goto yy850;\r
- } else {\r
- if (yych <= '\r') goto yy846;\r
- if (yych <= 0x1F) goto yy850;\r
- goto yy846;\r
- }\r
- } else {\r
- if (yych <= '$') {\r
- if (yych <= '"') goto yy845;\r
- if (yych <= '#') goto yy846;\r
- goto yy841;\r
- } else {\r
- if (yych == '\'') goto yy846;\r
- goto yy845;\r
- }\r
- }\r
- } else {\r
- if (yych <= '\\') {\r
- if (yych <= '@') {\r
- if (yych <= '0') goto yy838;\r
- if (yych <= '9') goto yy840;\r
- goto yy845;\r
- } else {\r
- if (yych <= 'Z') goto yy848;\r
- if (yych <= '[') goto yy845;\r
- goto yy846;\r
- }\r
- } else {\r
- if (yych <= '_') {\r
- if (yych <= ']') goto yy843;\r
- if (yych <= '^') goto yy845;\r
- goto yy848;\r
- } else {\r
- if (yych <= '`') goto yy845;\r
- if (yych <= 'z') goto yy848;\r
- if (yych <= '~') goto yy845;\r
- goto yy848;\r
- }\r
- }\r
- }\r
-yy838:\r
- YYDEBUG(838, *YYCURSOR);\r
- yyaccept = 0;\r
- yych = *(YYMARKER = ++YYCURSOR);\r
- if (yych <= 'W') {\r
- if (yych <= '9') {\r
- if (yych >= '0') goto yy862;\r
- } else {\r
- if (yych == 'B') goto yy859;\r
- }\r
- } else {\r
- if (yych <= 'b') {\r
- if (yych <= 'X') goto yy861;\r
- if (yych >= 'b') goto yy859;\r
- } else {\r
- if (yych == 'x') goto yy861;\r
- }\r
- }\r
-yy839:\r
- YYDEBUG(839, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1566 "Zend/zend_language_scanner.l"\r
- { /* Offset could be treated as a long */\r
- if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {\r
- ZVAL_LONG(zendlval, strtol(yytext, NULL, 10));\r
- } else {\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 1);\r
- }\r
- return T_NUM_STRING;\r
-}\r
-#line 7663 "Zend/zend_language_scanner.c"\r
-yy840:\r
- YYDEBUG(840, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy858;\r
-yy841:\r
- YYDEBUG(841, *YYCURSOR);\r
- ++YYCURSOR;\r
- if ((yych = *YYCURSOR) <= '_') {\r
- if (yych <= '@') goto yy842;\r
- if (yych <= 'Z') goto yy854;\r
- if (yych >= '_') goto yy854;\r
- } else {\r
- if (yych <= '`') goto yy842;\r
- if (yych <= 'z') goto yy854;\r
- if (yych >= 0x7F) goto yy854;\r
- }\r
-yy842:\r
- YYDEBUG(842, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1842 "Zend/zend_language_scanner.l"\r
- {\r
- /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */\r
- return yytext[0];\r
-}\r
-#line 7688 "Zend/zend_language_scanner.c"\r
-yy843:\r
- YYDEBUG(843, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(844, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1837 "Zend/zend_language_scanner.l"\r
- {\r
- yy_pop_state(TSRMLS_C);\r
- return ']';\r
-}\r
-#line 7699 "Zend/zend_language_scanner.c"\r
-yy845:\r
- YYDEBUG(845, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- goto yy842;\r
-yy846:\r
- YYDEBUG(846, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(847, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1847 "Zend/zend_language_scanner.l"\r
- {\r
- /* Invalid rule to return a more explicit parse error with proper line number */\r
- yyless(0);\r
- yy_pop_state(TSRMLS_C);\r
- return T_ENCAPSED_AND_WHITESPACE;\r
-}\r
-#line 7716 "Zend/zend_language_scanner.c"\r
-yy848:\r
- YYDEBUG(848, *YYCURSOR);\r
- ++YYCURSOR;\r
- yych = *YYCURSOR;\r
- goto yy853;\r
-yy849:\r
- YYDEBUG(849, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1854 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, yytext, yyleng);\r
- zendlval->type = IS_STRING;\r
- return T_STRING;\r
-}\r
-#line 7731 "Zend/zend_language_scanner.c"\r
-yy850:\r
- YYDEBUG(850, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYDEBUG(851, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 2368 "Zend/zend_language_scanner.l"\r
- {\r
- if (YYCURSOR > YYLIMIT) {\r
- return 0;\r
- }\r
-\r
- zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);\r
- goto restart;\r
-}\r
-#line 7746 "Zend/zend_language_scanner.c"\r
-yy852:\r
- YYDEBUG(852, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy853:\r
- YYDEBUG(853, *YYCURSOR);\r
- if (yybm[0+yych] & 16) {\r
- goto yy852;\r
- }\r
- goto yy849;\r
-yy854:\r
- YYDEBUG(854, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(855, *YYCURSOR);\r
- if (yych <= '^') {\r
- if (yych <= '9') {\r
- if (yych >= '0') goto yy854;\r
- } else {\r
- if (yych <= '@') goto yy856;\r
- if (yych <= 'Z') goto yy854;\r
- }\r
- } else {\r
- if (yych <= '`') {\r
- if (yych <= '_') goto yy854;\r
- } else {\r
- if (yych <= 'z') goto yy854;\r
- if (yych >= 0x7F) goto yy854;\r
- }\r
- }\r
-yy856:\r
- YYDEBUG(856, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1831 "Zend/zend_language_scanner.l"\r
- {\r
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));\r
- zendlval->type = IS_STRING;\r
- return T_VARIABLE;\r
-}\r
-#line 7788 "Zend/zend_language_scanner.c"\r
-yy857:\r
- YYDEBUG(857, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
-yy858:\r
- YYDEBUG(858, *YYCURSOR);\r
- if (yybm[0+yych] & 32) {\r
- goto yy857;\r
- }\r
- goto yy839;\r
-yy859:\r
- YYDEBUG(859, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yybm[0+yych] & 128) {\r
- goto yy867;\r
- }\r
-yy860:\r
- YYDEBUG(860, *YYCURSOR);\r
- YYCURSOR = YYMARKER;\r
- goto yy839;\r
-yy861:\r
- YYDEBUG(861, *YYCURSOR);\r
- yych = *++YYCURSOR;\r
- if (yybm[0+yych] & 64) {\r
- goto yy865;\r
- }\r
- goto yy860;\r
-yy862:\r
- YYDEBUG(862, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(863, *YYCURSOR);\r
- if (yych <= '/') goto yy864;\r
- if (yych <= '9') goto yy862;\r
-yy864:\r
- YYDEBUG(864, *YYCURSOR);\r
- yyleng = YYCURSOR - SCNG(yy_text);\r
-#line 1575 "Zend/zend_language_scanner.l"\r
- { /* Offset must be treated as a string */\r
- ZVAL_STRINGL(zendlval, yytext, yyleng, 1);\r
- return T_NUM_STRING;\r
-}\r
-#line 7833 "Zend/zend_language_scanner.c"\r
-yy865:\r
- YYDEBUG(865, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(866, *YYCURSOR);\r
- if (yybm[0+yych] & 64) {\r
- goto yy865;\r
- }\r
- goto yy864;\r
-yy867:\r
- YYDEBUG(867, *YYCURSOR);\r
- ++YYCURSOR;\r
- YYFILL(1);\r
- yych = *YYCURSOR;\r
- YYDEBUG(868, *YYCURSOR);\r
- if (yybm[0+yych] & 128) {\r
- goto yy867;\r
- }\r
- goto yy864;\r
- }\r
-}\r
-#line 2377 "Zend/zend_language_scanner.l"\r
-\r
-}\r
+/* Generated by re2c 0.13.5 */
+#line 1 "Zend/zend_language_scanner.l"
+/*
+ +----------------------------------------------------------------------+
+ | Zend Engine |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.00 of the Zend license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.zend.com/license/2_00.txt. |
+ | If you did not receive a copy of the Zend license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@zend.com so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Marcus Boerger <helly@php.net> |
+ | Nuno Lopes <nlopess@php.net> |
+ | Scott MacVicar <scottmac@php.net> |
+ | Flex version authors: |
+ | Andi Gutmans <andi@zend.com> |
+ | Zeev Suraski <zeev@zend.com> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#if 0
+# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
+#else
+# define YYDEBUG(s, c)
+#endif
+
+#include "zend_language_scanner_defs.h"
+
+#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"
+#include "zend_language_scanner.h"
+#include "zend_highlight.h"
+#include "zend_constants.h"
+#include "zend_variables.h"
+#include "zend_operators.h"
+#include "zend_API.h"
+#include "zend_strtod.h"
+#include "zend_exceptions.h"
+#include "zend_virtual_cwd.h"
+#include "tsrm_config_common.h"
+
+#define YYCTYPE unsigned char
+#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
+#define YYCURSOR SCNG(yy_cursor)
+#define YYLIMIT SCNG(yy_limit)
+#define YYMARKER SCNG(yy_marker)
+
+#define YYGETCONDITION() SCNG(yy_state)
+#define YYSETCONDITION(s) SCNG(yy_state) = s
+
+#define STATE(name) yyc##name
+
+/* emulate flex constructs */
+#define BEGIN(state) YYSETCONDITION(STATE(state))
+#define YYSTATE YYGETCONDITION()
+#define yytext ((char*)SCNG(yy_text))
+#define yyleng SCNG(yy_leng)
+#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
+ yyleng = (unsigned int)x; } while(0)
+#define yymore() goto yymore_restart
+
+/* perform sanity check. If this message is triggered you should
+ increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
+#define YYMAXFILL 16
+#if ZEND_MMAP_AHEAD < YYMAXFILL
+# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
+#endif
+
+#ifdef HAVE_STDARG_H
+# include <stdarg.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+/* Globals Macros */
+#define SCNG LANG_SCNG
+#ifdef ZTS
+ZEND_API ts_rsrc_id language_scanner_globals_id;
+#else
+ZEND_API zend_php_scanner_globals language_scanner_globals;
+#endif
+
+#define HANDLE_NEWLINES(s, l) \
+do { \
+ char *p = (s), *boundary = p+(l); \
+ \
+ while (p<boundary) { \
+ if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \
+ CG(zend_lineno)++; \
+ } \
+ p++; \
+ } \
+} while (0)
+
+#define HANDLE_NEWLINE(c) \
+{ \
+ if (c == '\n' || c == '\r') { \
+ CG(zend_lineno)++; \
+ } \
+}
+
+/* To save initial string length after scanning to first variable */
+#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) SCNG(scanned_string_len) = (len)
+#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() SCNG(scanned_string_len)
+
+#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F)
+
+#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
+#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
+
+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));
+ YYSETCONDITION(new_state);
+}
+
+#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
+
+static void yy_pop_state(TSRMLS_D)
+{
+ int *stack_state;
+ zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
+ YYSETCONDITION(*stack_state);
+ zend_stack_del_top(&SCNG(state_stack));
+}
+
+static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
+{
+ YYCURSOR = (YYCTYPE*)str;
+ YYLIMIT = YYCURSOR + len;
+ if (!SCNG(yy_start)) {
+ SCNG(yy_start) = YYCURSOR;
+ }
+}
+
+void startup_scanner(TSRMLS_D)
+{
+ CG(parse_error) = 0;
+ CG(doc_comment) = NULL;
+ zend_stack_init(&SCNG(state_stack));
+ zend_ptr_stack_init(&SCNG(heredoc_label_stack));
+}
+
+static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
+ efree(heredoc_label->label);
+}
+
+void shutdown_scanner(TSRMLS_D)
+{
+ CG(parse_error) = 0;
+ RESET_DOC_COMMENT();
+ zend_stack_destroy(&SCNG(state_stack));
+ zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
+ zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
+}
+
+ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
+{
+ lex_state->yy_leng = SCNG(yy_leng);
+ lex_state->yy_start = SCNG(yy_start);
+ lex_state->yy_text = SCNG(yy_text);
+ lex_state->yy_cursor = SCNG(yy_cursor);
+ lex_state->yy_marker = SCNG(yy_marker);
+ lex_state->yy_limit = SCNG(yy_limit);
+
+ lex_state->state_stack = SCNG(state_stack);
+ zend_stack_init(&SCNG(state_stack));
+
+ lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
+ zend_ptr_stack_init(&SCNG(heredoc_label_stack));
+
+ lex_state->in = SCNG(yy_in);
+ lex_state->yy_state = YYSTATE;
+ lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
+ lex_state->lineno = CG(zend_lineno);
+
+ lex_state->script_org = SCNG(script_org);
+ lex_state->script_org_size = SCNG(script_org_size);
+ lex_state->script_filtered = SCNG(script_filtered);
+ lex_state->script_filtered_size = SCNG(script_filtered_size);
+ lex_state->input_filter = SCNG(input_filter);
+ lex_state->output_filter = SCNG(output_filter);
+ lex_state->script_encoding = SCNG(script_encoding);
+}
+
+ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
+{
+ SCNG(yy_leng) = lex_state->yy_leng;
+ SCNG(yy_start) = lex_state->yy_start;
+ SCNG(yy_text) = lex_state->yy_text;
+ SCNG(yy_cursor) = lex_state->yy_cursor;
+ SCNG(yy_marker) = lex_state->yy_marker;
+ SCNG(yy_limit) = lex_state->yy_limit;
+
+ zend_stack_destroy(&SCNG(state_stack));
+ SCNG(state_stack) = lex_state->state_stack;
+
+ zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
+ zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
+ SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
+
+ SCNG(yy_in) = lex_state->in;
+ YYSETCONDITION(lex_state->yy_state);
+ CG(zend_lineno) = lex_state->lineno;
+ zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
+
+ if (SCNG(script_filtered)) {
+ efree(SCNG(script_filtered));
+ SCNG(script_filtered) = NULL;
+ }
+ SCNG(script_org) = lex_state->script_org;
+ SCNG(script_org_size) = lex_state->script_org_size;
+ SCNG(script_filtered) = lex_state->script_filtered;
+ SCNG(script_filtered_size) = lex_state->script_filtered_size;
+ SCNG(input_filter) = lex_state->input_filter;
+ SCNG(output_filter) = lex_state->output_filter;
+ SCNG(script_encoding) = lex_state->script_encoding;
+
+ RESET_DOC_COMMENT();
+}
+
+ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
+{
+ zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
+ /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
+ file_handle->opened_path = NULL;
+ if (file_handle->free_filename) {
+ file_handle->filename = NULL;
+ }
+}
+
+#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)
+{
+ const char *file_path = NULL;
+ char *buf;
+ size_t size, offset = 0;
+ zend_string *compiled_filename;
+
+ /* 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) {
+ offset = 0;
+ }
+ }
+
+ if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) {
+ return FAILURE;
+ }
+
+ zend_llist_add_element(&CG(open_files), file_handle);
+ if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) {
+ zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files));
+ size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle;
+ fh->handle.stream.handle = (void*)(((char*)fh) + diff);
+ file_handle->handle.stream.handle = fh->handle.stream.handle;
+ }
+
+ /* Reset the scanner for scanning the new file */
+ SCNG(yy_in) = file_handle;
+ SCNG(yy_start) = NULL;
+
+ if (size != -1) {
+ 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);
+
+ 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) = (unsigned char *)buf - offset;
+ yy_scan_buffer(buf, size TSRMLS_CC);
+ } else {
+ zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
+ }
+
+ BEGIN(INITIAL);
+
+ if (file_handle->opened_path) {
+ file_path = file_handle->opened_path;
+ } else {
+ file_path = file_handle->filename;
+ }
+
+ compiled_filename = STR_INIT(file_path, strlen(file_path), 0);
+ zend_set_compiled_filename(compiled_filename TSRMLS_CC);
+ STR_RELEASE(compiled_filename);
+
+ if (CG(start_lineno)) {
+ CG(zend_lineno) = CG(start_lineno);
+ CG(start_lineno) = 0;
+ } else {
+ CG(zend_lineno) = 1;
+ }
+
+ RESET_DOC_COMMENT();
+ CG(increment_lineno) = 0;
+ return SUCCESS;
+}
+END_EXTERN_C()
+
+
+ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
+{
+ zend_lex_state original_lex_state;
+ zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
+ zend_op_array *original_active_op_array = CG(active_op_array);
+ zend_op_array *retval=NULL;
+ int compiler_result;
+ zend_bool compilation_successful=0;
+ znode retval_znode;
+ zend_bool original_in_compilation = CG(in_compilation);
+
+ retval_znode.op_type = IS_CONST;
+ ZVAL_LONG(&retval_znode.u.constant, 1);
+
+ zend_save_lexical_state(&original_lex_state TSRMLS_CC);
+
+ retval = op_array; /* success oriented */
+
+ if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
+ if (type==ZEND_REQUIRE) {
+ zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
+ zend_bailout();
+ } else {
+ zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
+ }
+ compilation_successful=0;
+ } else {
+ 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;
+ if (compiler_result != 0) { /* parser error */
+ zend_bailout();
+ }
+ compilation_successful=1;
+ }
+
+ if (retval) {
+ CG(active_op_array) = original_active_op_array;
+ if (compilation_successful) {
+ pass_two(op_array TSRMLS_CC);
+ zend_release_labels(0 TSRMLS_CC);
+ } else {
+ efree(op_array);
+ retval = NULL;
+ }
+ }
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ return retval;
+}
+
+
+zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
+{
+ zend_file_handle file_handle;
+ zval tmp;
+ zend_op_array *retval;
+ char *opened_path = NULL;
+
+ if (Z_TYPE_P(filename) != IS_STRING) {
+ tmp = *filename;
+ zval_copy_ctor(&tmp);
+ convert_to_string(&tmp);
+ filename = &tmp;
+ }
+ file_handle.filename = Z_STRVAL_P(filename);
+ file_handle.free_filename = 0;
+ file_handle.type = ZEND_HANDLE_FILENAME;
+ file_handle.opened_path = NULL;
+ file_handle.handle.fp = NULL;
+
+ retval = zend_compile_file(&file_handle, type TSRMLS_CC);
+ if (retval && file_handle.handle.stream.handle) {
+ if (!file_handle.opened_path) {
+ file_handle.opened_path = opened_path = estrndup(Z_STRVAL_P(filename), Z_STRLEN_P(filename));
+ }
+
+ zend_hash_str_add_empty_element(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path));
+
+ if (opened_path) {
+ efree(opened_path);
+ }
+ }
+ zend_destroy_file_handle(&file_handle TSRMLS_CC);
+
+ if (filename==&tmp) {
+ zval_dtor(&tmp);
+ }
+ return retval;
+}
+
+ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
+{
+ char *buf;
+ size_t size, old_len;
+ zend_string *new_compiled_filename;
+
+ /* enforce ZEND_MMAP_AHEAD trailing NULLs for flex... */
+ old_len = Z_STRLEN_P(str);
+ Z_STR_P(str) = STR_REALLOC(Z_STR_P(str), old_len + ZEND_MMAP_AHEAD, 0);
+ Z_TYPE_INFO_P(str) = IS_STRING_EX;
+ memset(Z_STRVAL_P(str) + old_len, 0, ZEND_MMAP_AHEAD + 1);
+
+ SCNG(yy_in) = NULL;
+ SCNG(yy_start) = NULL;
+
+ buf = Z_STRVAL_P(str);
+ size = old_len;
+
+ if (CG(multibyte)) {
+ SCNG(script_org) = (unsigned char*)buf;
+ SCNG(script_org_size) = size;
+ SCNG(script_filtered) = NULL;
+
+ 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(buf, size TSRMLS_CC);
+
+ new_compiled_filename = STR_INIT(filename, strlen(filename), 0);
+ zend_set_compiled_filename(new_compiled_filename TSRMLS_CC);
+ STR_RELEASE(new_compiled_filename);
+ CG(zend_lineno) = 1;
+ CG(increment_lineno) = 0;
+ RESET_DOC_COMMENT();
+ return SUCCESS;
+}
+
+
+ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
+{
+ size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
+ if (SCNG(input_filter)) {
+ size_t original_offset = offset, length = 0;
+ do {
+ unsigned char *p = NULL;
+ 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) {
+ offset--;
+ } else if (length < original_offset) {
+ offset++;
+ }
+ } while (original_offset != length);
+ }
+ return offset;
+}
+
+
+zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
+{
+ zend_lex_state original_lex_state;
+ zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
+ zend_op_array *original_active_op_array = CG(active_op_array);
+ zend_op_array *retval;
+ zval tmp;
+ int compiler_result;
+ zend_bool original_in_compilation = CG(in_compilation);
+
+ if (Z_STRLEN_P(source_string)==0) {
+ efree(op_array);
+ return NULL;
+ }
+
+ CG(in_compilation) = 1;
+
+ ZVAL_DUP(&tmp, source_string);
+ convert_to_string(&tmp);
+ source_string = &tmp;
+
+ zend_save_lexical_state(&original_lex_state TSRMLS_CC);
+ if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
+ efree(op_array);
+ retval = NULL;
+ } else {
+ zend_bool orig_interactive = CG(interactive);
+
+ CG(interactive) = 0;
+ 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);
+
+ if (SCNG(script_filtered)) {
+ efree(SCNG(script_filtered));
+ SCNG(script_filtered) = NULL;
+ }
+
+ if (compiler_result != 0) {
+ CG(active_op_array) = original_active_op_array;
+ CG(unclean_shutdown)=1;
+ destroy_op_array(op_array TSRMLS_CC);
+ efree(op_array);
+ retval = NULL;
+ } else {
+ zend_do_return(NULL, 0 TSRMLS_CC);
+ CG(active_op_array) = original_active_op_array;
+ pass_two(op_array TSRMLS_CC);
+ zend_release_labels(0 TSRMLS_CC);
+ retval = op_array;
+ }
+ }
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ zval_dtor(&tmp);
+ CG(in_compilation) = original_in_compilation;
+ return retval;
+}
+
+
+BEGIN_EXTERN_C()
+int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
+{
+ zend_lex_state original_lex_state;
+ zend_file_handle file_handle;
+
+ file_handle.type = ZEND_HANDLE_FILENAME;
+ file_handle.filename = filename;
+ file_handle.free_filename = 0;
+ file_handle.opened_path = NULL;
+ zend_save_lexical_state(&original_lex_state TSRMLS_CC);
+ if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
+ zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC);
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ return FAILURE;
+ }
+ zend_highlight(syntax_highlighter_ini TSRMLS_CC);
+ if (SCNG(script_filtered)) {
+ efree(SCNG(script_filtered));
+ SCNG(script_filtered) = NULL;
+ }
+ zend_destroy_file_handle(&file_handle TSRMLS_CC);
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ return SUCCESS;
+}
+
+int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
+{
+ zend_lex_state original_lex_state;
+ zval tmp = *str;
+
+ str = &tmp;
+ zval_copy_ctor(str);
+ zend_save_lexical_state(&original_lex_state TSRMLS_CC);
+ if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ return FAILURE;
+ }
+ BEGIN(INITIAL);
+ zend_highlight(syntax_highlighter_ini TSRMLS_CC);
+ if (SCNG(script_filtered)) {
+ efree(SCNG(script_filtered));
+ SCNG(script_filtered) = NULL;
+ }
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
+ zval_dtor(str);
+ return SUCCESS;
+}
+
+ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC)
+{
+ size_t length;
+ unsigned char *new_yy_start;
+
+ /* convert and set */
+ if (!SCNG(input_filter)) {
+ 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 {
+ 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)));
+ }
+ if (SCNG(script_filtered)) {
+ efree(SCNG(script_filtered));
+ }
+ SCNG(script_filtered) = new_yy_start;
+ SCNG(script_filtered_size) = length;
+ }
+
+ 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));
+
+ SCNG(yy_start) = new_yy_start;
+}
+
+
+// TODO: avoid reallocation ???
+# define zend_copy_value(zendlval, yytext, yyleng) \
+ if (SCNG(output_filter)) { \
+ size_t sz = 0; \
+ char *s = NULL; \
+ SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
+ ZVAL_STRINGL(zendlval, s, sz); \
+ efree(s); \
+ } else { \
+ ZVAL_STRINGL(zendlval, yytext, yyleng); \
+ }
+
+// TODO: some extensions might need content, but we don't copy it intentional ???
+#if 0
+# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
+ ZVAL_STRINGL(zendlval, yytext, yyleng)
+#else
+# define DUMMY_STRINGL(zendlval, yytext, yyleng) \
+ ZVAL_EMPTY_STRING(zendlval)
+#endif
+
+static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
+{
+ register char *s, *t;
+ char *end;
+
+ ZVAL_STRINGL(zendlval, str, len);
+
+ /* convert escape sequences */
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
+ while (s<end) {
+ if (*s=='\\') {
+ s++;
+ if (s >= end) {
+ *t++ = '\\';
+ break;
+ }
+
+ switch(*s) {
+ case 'n':
+ *t++ = '\n';
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 'r':
+ *t++ = '\r';
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 't':
+ *t++ = '\t';
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 'f':
+ *t++ = '\f';
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 'v':
+ *t++ = '\v';
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 'e':
+#ifdef PHP_WIN32
+ *t++ = VK_ESCAPE;
+#else
+ *t++ = '\e';
+#endif
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case '"':
+ case '`':
+ if (*s != quote_type) {
+ *t++ = '\\';
+ *t++ = *s;
+ break;
+ }
+ case '\\':
+ case '$':
+ *t++ = *s;
+ Z_STRLEN_P(zendlval)--;
+ break;
+ case 'x':
+ case 'X':
+ if (ZEND_IS_HEX(*(s+1))) {
+ char hex_buf[3] = { 0, 0, 0 };
+
+ Z_STRLEN_P(zendlval)--; /* for the 'x' */
+
+ hex_buf[0] = *(++s);
+ Z_STRLEN_P(zendlval)--;
+ if (ZEND_IS_HEX(*(s+1))) {
+ hex_buf[1] = *(++s);
+ Z_STRLEN_P(zendlval)--;
+ }
+ *t++ = (char) strtol(hex_buf, NULL, 16);
+ } else {
+ *t++ = '\\';
+ *t++ = *s;
+ }
+ break;
+ default:
+ /* check for an octal */
+ if (ZEND_IS_OCT(*s)) {
+ char octal_buf[4] = { 0, 0, 0, 0 };
+
+ octal_buf[0] = *s;
+ Z_STRLEN_P(zendlval)--;
+ if (ZEND_IS_OCT(*(s+1))) {
+ octal_buf[1] = *(++s);
+ Z_STRLEN_P(zendlval)--;
+ if (ZEND_IS_OCT(*(s+1))) {
+ octal_buf[2] = *(++s);
+ Z_STRLEN_P(zendlval)--;
+ }
+ }
+ *t++ = (char) strtol(octal_buf, NULL, 8);
+ } else {
+ *t++ = '\\';
+ *t++ = *s;
+ }
+ break;
+ }
+ } else {
+ *t++ = *s;
+ }
+
+ if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
+ CG(zend_lineno)++;
+ }
+ s++;
+ }
+ *t = 0;
+ if (SCNG(output_filter)) {
+ size_t sz = 0;
+ unsigned char *str;
+ // TODO: avoid realocation ???
+ s = Z_STRVAL_P(zendlval);
+ SCNG(output_filter)(&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ zval_ptr_dtor(zendlval);
+ ZVAL_STRINGL(zendlval, str, sz);
+ efree(str);
+ }
+}
+
+
+int lex_scan(zval *zendlval TSRMLS_DC)
+{
+restart:
+ SCNG(yy_text) = YYCURSOR;
+
+yymore_restart:
+
+
+#line 1021 "Zend/zend_language_scanner.c"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYGETCONDITION() < 5) {
+ if (YYGETCONDITION() < 2) {
+ if (YYGETCONDITION() < 1) {
+ goto yyc_ST_IN_SCRIPTING;
+ } else {
+ goto yyc_ST_LOOKING_FOR_PROPERTY;
+ }
+ } else {
+ if (YYGETCONDITION() < 3) {
+ goto yyc_ST_BACKQUOTE;
+ } else {
+ if (YYGETCONDITION() < 4) {
+ goto yyc_ST_DOUBLE_QUOTES;
+ } else {
+ goto yyc_ST_HEREDOC;
+ }
+ }
+ }
+ } else {
+ if (YYGETCONDITION() < 7) {
+ if (YYGETCONDITION() < 6) {
+ goto yyc_ST_LOOKING_FOR_VARNAME;
+ } else {
+ goto yyc_ST_VAR_OFFSET;
+ }
+ } else {
+ if (YYGETCONDITION() < 8) {
+ goto yyc_INITIAL;
+ } else {
+ if (YYGETCONDITION() < 9) {
+ goto yyc_ST_END_HEREDOC;
+ } else {
+ goto yyc_ST_NOWDOC;
+ }
+ }
+ }
+ }
+/* *********************************** */
+yyc_INITIAL:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+ YYDEBUG(0, *YYCURSOR);
+ YYFILL(8);
+ yych = *YYCURSOR;
+ if (yych != '<') goto yy4;
+ YYDEBUG(2, *YYCURSOR);
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '?') {
+ if (yych == '%') goto yy7;
+ if (yych >= '?') goto yy5;
+ } else {
+ if (yych <= 'S') {
+ if (yych >= 'S') goto yy9;
+ } else {
+ if (yych == 's') goto yy9;
+ }
+ }
+yy3:
+ YYDEBUG(3, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1772 "Zend/zend_language_scanner.l"
++#line 1780 "Zend/zend_language_scanner.l"
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+inline_char_handler:
+
+ while (1) {
+ YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
+
+ YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
+
+ if (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR) {
+ case '?':
+ if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
+ break;
+ }
+ continue;
+ case '%':
+ if (CG(asp_tags)) {
+ break;
+ }
+ continue;
+ case 's':
+ case 'S':
+ /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
+ * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
+ YYCURSOR--;
+ yymore();
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ }
+
+ break;
+ }
+
+inline_html:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ if (SCNG(output_filter)) {
+ int readsize;
+ char *s = NULL;
+ size_t sz = 0;
+ // TODO: avoid reallocation ???
+ readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
+ ZVAL_STRINGL(zendlval, s, sz);
+ efree(s);
+ if (readsize < yyleng) {
+ yyless(readsize);
+ }
+ } else {
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
+ }
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_INLINE_HTML;
+}
+#line 1181 "Zend/zend_language_scanner.c"
+yy4:
+ YYDEBUG(4, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy3;
+yy5:
+ YYDEBUG(5, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'O') {
+ if (yych == '=') goto yy45;
+ } else {
+ if (yych <= 'P') goto yy47;
+ if (yych == 'p') goto yy47;
+ }
+yy6:
+ YYDEBUG(6, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1762 "Zend/zend_language_scanner.l"
++#line 1770 "Zend/zend_language_scanner.l"
+ {
+ if (CG(short_tags)) {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+ } else {
+ goto inline_char_handler;
+ }
+}
+#line 1209 "Zend/zend_language_scanner.c"
+yy7:
+ YYDEBUG(7, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '=') goto yy43;
+ YYDEBUG(8, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1743 "Zend/zend_language_scanner.l"
++#line 1751 "Zend/zend_language_scanner.l"
+ {
+ if (CG(asp_tags)) {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+ } else {
+ goto inline_char_handler;
+ }
+}
+#line 1226 "Zend/zend_language_scanner.c"
+yy9:
+ YYDEBUG(9, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy11;
+ if (yych == 'c') goto yy11;
+yy10:
+ YYDEBUG(10, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 0) {
+ goto yy3;
+ } else {
+ goto yy6;
+ }
+yy11:
+ YYDEBUG(11, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy12;
+ if (yych != 'r') goto yy10;
+yy12:
+ YYDEBUG(12, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy13;
+ if (yych != 'i') goto yy10;
+yy13:
+ YYDEBUG(13, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy14;
+ if (yych != 'p') goto yy10;
+yy14:
+ YYDEBUG(14, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy15;
+ if (yych != 't') goto yy10;
+yy15:
+ YYDEBUG(15, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy10;
+ if (yych == 'l') goto yy10;
+ goto yy17;
+yy16:
+ YYDEBUG(16, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(8);
+ yych = *YYCURSOR;
+yy17:
+ YYDEBUG(17, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy16;
+ }
+ if (yych == 'L') goto yy18;
+ if (yych != 'l') goto yy10;
+yy18:
+ YYDEBUG(18, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy19;
+ if (yych != 'a') goto yy10;
+yy19:
+ YYDEBUG(19, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy20;
+ if (yych != 'n') goto yy10;
+yy20:
+ YYDEBUG(20, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'G') goto yy21;
+ if (yych != 'g') goto yy10;
+yy21:
+ YYDEBUG(21, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'U') goto yy22;
+ if (yych != 'u') goto yy10;
+yy22:
+ YYDEBUG(22, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy23;
+ if (yych != 'a') goto yy10;
+yy23:
+ YYDEBUG(23, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'G') goto yy24;
+ if (yych != 'g') goto yy10;
+yy24:
+ YYDEBUG(24, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy25;
+ if (yych != 'e') goto yy10;
+yy25:
+ YYDEBUG(25, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(26, *YYCURSOR);
+ if (yych <= '\r') {
+ if (yych <= 0x08) goto yy10;
+ if (yych <= '\n') goto yy25;
+ if (yych <= '\f') goto yy10;
+ goto yy25;
+ } else {
+ if (yych <= ' ') {
+ if (yych <= 0x1F) goto yy10;
+ goto yy25;
+ } else {
+ if (yych != '=') goto yy10;
+ }
+ }
+yy27:
+ YYDEBUG(27, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(5);
+ yych = *YYCURSOR;
+ YYDEBUG(28, *YYCURSOR);
+ if (yych <= '!') {
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy10;
+ if (yych <= '\n') goto yy27;
+ goto yy10;
+ } else {
+ if (yych <= '\r') goto yy27;
+ if (yych == ' ') goto yy27;
+ goto yy10;
+ }
+ } else {
+ if (yych <= 'O') {
+ if (yych <= '"') goto yy30;
+ if (yych == '\'') goto yy31;
+ goto yy10;
+ } else {
+ if (yych <= 'P') goto yy29;
+ if (yych != 'p') goto yy10;
+ }
+ }
+yy29:
+ YYDEBUG(29, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy42;
+ if (yych == 'h') goto yy42;
+ goto yy10;
+yy30:
+ YYDEBUG(30, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy39;
+ if (yych == 'p') goto yy39;
+ goto yy10;
+yy31:
+ YYDEBUG(31, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy32;
+ if (yych != 'p') goto yy10;
+yy32:
+ YYDEBUG(32, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy33;
+ if (yych != 'h') goto yy10;
+yy33:
+ YYDEBUG(33, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy34;
+ if (yych != 'p') goto yy10;
+yy34:
+ YYDEBUG(34, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '\'') goto yy10;
+yy35:
+ YYDEBUG(35, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(36, *YYCURSOR);
+ if (yych <= '\r') {
+ if (yych <= 0x08) goto yy10;
+ if (yych <= '\n') goto yy35;
+ if (yych <= '\f') goto yy10;
+ goto yy35;
+ } else {
+ if (yych <= ' ') {
+ if (yych <= 0x1F) goto yy10;
+ goto yy35;
+ } else {
+ if (yych != '>') goto yy10;
+ }
+ }
+ YYDEBUG(37, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(38, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1709 "Zend/zend_language_scanner.l"
++#line 1717 "Zend/zend_language_scanner.l"
+ {
+ 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 */
+ YYCURSOR = bracket;
+ goto inline_html;
+ }
+
+ HANDLE_NEWLINES(yytext, yyleng);
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+}
+#line 1427 "Zend/zend_language_scanner.c"
+yy39:
+ YYDEBUG(39, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy40;
+ if (yych != 'h') goto yy10;
+yy40:
+ YYDEBUG(40, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy41;
+ if (yych != 'p') goto yy10;
+yy41:
+ YYDEBUG(41, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '"') goto yy35;
+ goto yy10;
+yy42:
+ YYDEBUG(42, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy35;
+ if (yych == 'p') goto yy35;
+ goto yy10;
+yy43:
+ YYDEBUG(43, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(44, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1725 "Zend/zend_language_scanner.l"
++#line 1733 "Zend/zend_language_scanner.l"
+ {
+ if (CG(asp_tags)) {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG_WITH_ECHO;
+ } else {
+ goto inline_char_handler;
+ }
+}
+#line 1464 "Zend/zend_language_scanner.c"
+yy45:
+ YYDEBUG(45, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(46, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1736 "Zend/zend_language_scanner.l"
++#line 1744 "Zend/zend_language_scanner.l"
+ {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG_WITH_ECHO;
+}
+#line 1476 "Zend/zend_language_scanner.c"
+yy47:
+ YYDEBUG(47, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy48;
+ if (yych != 'h') goto yy10;
+yy48:
+ YYDEBUG(48, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy49;
+ if (yych != 'p') goto yy10;
+yy49:
+ YYDEBUG(49, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy10;
+ if (yych >= '\v') goto yy10;
+ } else {
+ if (yych <= '\r') goto yy52;
+ if (yych != ' ') goto yy10;
+ }
+yy50:
+ YYDEBUG(50, *YYCURSOR);
+ ++YYCURSOR;
+yy51:
+ YYDEBUG(51, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1754 "Zend/zend_language_scanner.l"
++#line 1762 "Zend/zend_language_scanner.l"
+ {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ HANDLE_NEWLINE(yytext[yyleng-1]);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+}
+#line 1510 "Zend/zend_language_scanner.c"
+yy52:
+ YYDEBUG(52, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '\n') goto yy50;
+ goto yy51;
+ }
+/* *********************************** */
+yyc_ST_BACKQUOTE:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(53, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '_') {
+ if (yych != '$') goto yy60;
+ } else {
+ if (yych <= '`') goto yy58;
+ if (yych == '{') goto yy57;
+ goto yy60;
+ }
+ YYDEBUG(55, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '_') {
+ if (yych <= '@') goto yy56;
+ if (yych <= 'Z') goto yy63;
+ if (yych >= '_') goto yy63;
+ } else {
+ if (yych <= 'z') {
+ if (yych >= 'a') goto yy63;
+ } else {
+ if (yych <= '{') goto yy66;
+ if (yych >= 0x7F) goto yy63;
+ }
+ }
+yy56:
+ YYDEBUG(56, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2215 "Zend/zend_language_scanner.l"
++#line 2223 "Zend/zend_language_scanner.l"
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '`':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
+#line 1622 "Zend/zend_language_scanner.c"
+yy57:
+ YYDEBUG(57, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy61;
+ goto yy56;
+yy58:
+ YYDEBUG(58, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(59, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2159 "Zend/zend_language_scanner.l"
++#line 2167 "Zend/zend_language_scanner.l"
+ {
+ BEGIN(ST_IN_SCRIPTING);
+ return '`';
+}
+#line 1638 "Zend/zend_language_scanner.c"
+yy60:
+ YYDEBUG(60, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy56;
+yy61:
+ YYDEBUG(61, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(62, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2146 "Zend/zend_language_scanner.l"
++#line 2154 "Zend/zend_language_scanner.l"
+ {
+ Z_LVAL_P(zendlval) = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+#line 1655 "Zend/zend_language_scanner.c"
+yy63:
+ YYDEBUG(63, *YYCURSOR);
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(64, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy63;
+ }
+ if (yych == '-') goto yy68;
+ if (yych == '[') goto yy70;
+yy65:
+ YYDEBUG(65, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1853 "Zend/zend_language_scanner.l"
++#line 1861 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1676 "Zend/zend_language_scanner.c"
+yy66:
+ YYDEBUG(66, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(67, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1476 "Zend/zend_language_scanner.l"
++#line 1484 "Zend/zend_language_scanner.l"
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+#line 1687 "Zend/zend_language_scanner.c"
+yy68:
+ YYDEBUG(68, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy72;
+yy69:
+ YYDEBUG(69, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy65;
+yy70:
+ YYDEBUG(70, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(71, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1846 "Zend/zend_language_scanner.l"
++#line 1854 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1708 "Zend/zend_language_scanner.c"
+yy72:
+ YYDEBUG(72, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy69;
+ if (yych <= 'Z') goto yy73;
+ if (yych <= '^') goto yy69;
+ } else {
+ if (yych <= '`') goto yy69;
+ if (yych <= 'z') goto yy73;
+ if (yych <= '~') goto yy69;
+ }
+yy73:
+ YYDEBUG(73, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(74, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1837 "Zend/zend_language_scanner.l"
++#line 1845 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1733 "Zend/zend_language_scanner.c"
+ }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(75, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '#') {
+ if (yych == '"') goto yy80;
+ goto yy82;
+ } else {
+ if (yych <= '$') goto yy77;
+ if (yych == '{') goto yy79;
+ goto yy82;
+ }
+yy77:
+ YYDEBUG(77, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '_') {
+ if (yych <= '@') goto yy78;
+ if (yych <= 'Z') goto yy85;
+ if (yych >= '_') goto yy85;
+ } else {
+ if (yych <= 'z') {
+ if (yych >= 'a') goto yy85;
+ } else {
+ if (yych <= '{') goto yy88;
+ if (yych >= 0x7F) goto yy85;
+ }
+ }
+yy78:
+ YYDEBUG(78, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2165 "Zend/zend_language_scanner.l"
++#line 2173 "Zend/zend_language_scanner.l"
+ {
+ if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
+ YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
+ SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
+
+ goto double_quotes_scan_done;
+ }
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '"':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+double_quotes_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
+#line 1850 "Zend/zend_language_scanner.c"
+yy79:
+ YYDEBUG(79, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy83;
+ goto yy78;
+yy80:
+ YYDEBUG(80, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(81, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2154 "Zend/zend_language_scanner.l"
++#line 2162 "Zend/zend_language_scanner.l"
+ {
+ BEGIN(ST_IN_SCRIPTING);
+ return '"';
+}
+#line 1866 "Zend/zend_language_scanner.c"
+yy82:
+ YYDEBUG(82, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy78;
+yy83:
+ YYDEBUG(83, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(84, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2146 "Zend/zend_language_scanner.l"
++#line 2154 "Zend/zend_language_scanner.l"
+ {
+ Z_LVAL_P(zendlval) = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+#line 1883 "Zend/zend_language_scanner.c"
+yy85:
+ YYDEBUG(85, *YYCURSOR);
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(86, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy85;
+ }
+ if (yych == '-') goto yy90;
+ if (yych == '[') goto yy92;
+yy87:
+ YYDEBUG(87, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1853 "Zend/zend_language_scanner.l"
++#line 1861 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1904 "Zend/zend_language_scanner.c"
+yy88:
+ YYDEBUG(88, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(89, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1476 "Zend/zend_language_scanner.l"
++#line 1484 "Zend/zend_language_scanner.l"
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+#line 1915 "Zend/zend_language_scanner.c"
+yy90:
+ YYDEBUG(90, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy94;
+yy91:
+ YYDEBUG(91, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy87;
+yy92:
+ YYDEBUG(92, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(93, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1846 "Zend/zend_language_scanner.l"
++#line 1854 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1936 "Zend/zend_language_scanner.c"
+yy94:
+ YYDEBUG(94, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy91;
+ if (yych <= 'Z') goto yy95;
+ if (yych <= '^') goto yy91;
+ } else {
+ if (yych <= '`') goto yy91;
+ if (yych <= 'z') goto yy95;
+ if (yych <= '~') goto yy91;
+ }
+yy95:
+ YYDEBUG(95, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(96, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1837 "Zend/zend_language_scanner.l"
++#line 1845 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 1961 "Zend/zend_language_scanner.c"
+ }
+/* *********************************** */
+yyc_ST_END_HEREDOC:
+ YYDEBUG(97, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(99, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(100, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2132 "Zend/zend_language_scanner.l"
++#line 2140 "Zend/zend_language_scanner.l"
+ {
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
+
+ YYCURSOR += heredoc_label->length - 1;
+ yyleng = heredoc_label->length;
+
+ heredoc_label_dtor(heredoc_label);
+ efree(heredoc_label);
+
+ BEGIN(ST_IN_SCRIPTING);
+ return T_END_HEREDOC;
+}
+#line 1985 "Zend/zend_language_scanner.c"
+/* *********************************** */
+yyc_ST_HEREDOC:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(101, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych == '$') goto yy103;
+ if (yych == '{') goto yy105;
+ goto yy106;
+yy103:
+ YYDEBUG(103, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '_') {
+ if (yych <= '@') goto yy104;
+ if (yych <= 'Z') goto yy109;
+ if (yych >= '_') goto yy109;
+ } else {
+ if (yych <= 'z') {
+ if (yych >= 'a') goto yy109;
+ } else {
+ if (yych <= '{') goto yy112;
+ if (yych >= 0x7F) goto yy109;
+ }
+ }
+yy104:
+ YYDEBUG(104, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2257 "Zend/zend_language_scanner.l"
++#line 2265 "Zend/zend_language_scanner.l"
+ {
+ int newline = 0;
+
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ YYCURSOR--;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ /* Check for ending label on the next line */
+ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ /* newline before label will be subtracted from returned text, but
+ * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
+ if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
+ newline = 2; /* Windows newline */
+ } else {
+ newline = 1;
+ }
+
+ CG(increment_lineno) = 1; /* For newline before label */
+ BEGIN(ST_END_HEREDOC);
+
+ goto heredoc_scan_done;
+ }
+ }
+ continue;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+heredoc_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
+#line 2120 "Zend/zend_language_scanner.c"
+yy105:
+ YYDEBUG(105, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy107;
+ goto yy104;
+yy106:
+ YYDEBUG(106, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy104;
+yy107:
+ YYDEBUG(107, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(108, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2146 "Zend/zend_language_scanner.l"
++#line 2154 "Zend/zend_language_scanner.l"
+ {
+ Z_LVAL_P(zendlval) = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+#line 2142 "Zend/zend_language_scanner.c"
+yy109:
+ YYDEBUG(109, *YYCURSOR);
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(110, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy109;
+ }
+ if (yych == '-') goto yy114;
+ if (yych == '[') goto yy116;
+yy111:
+ YYDEBUG(111, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1853 "Zend/zend_language_scanner.l"
++#line 1861 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 2163 "Zend/zend_language_scanner.c"
+yy112:
+ YYDEBUG(112, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(113, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1476 "Zend/zend_language_scanner.l"
++#line 1484 "Zend/zend_language_scanner.l"
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+#line 2174 "Zend/zend_language_scanner.c"
+yy114:
+ YYDEBUG(114, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy118;
+yy115:
+ YYDEBUG(115, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy111;
+yy116:
+ YYDEBUG(116, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(117, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1846 "Zend/zend_language_scanner.l"
++#line 1854 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 2195 "Zend/zend_language_scanner.c"
+yy118:
+ YYDEBUG(118, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy115;
+ if (yych <= 'Z') goto yy119;
+ if (yych <= '^') goto yy115;
+ } else {
+ if (yych <= '`') goto yy115;
+ if (yych <= 'z') goto yy119;
+ if (yych <= '~') goto yy115;
+ }
+yy119:
+ YYDEBUG(119, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(120, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1837 "Zend/zend_language_scanner.l"
++#line 1845 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+#line 2220 "Zend/zend_language_scanner.c"
+ }
+/* *********************************** */
+yyc_ST_IN_SCRIPTING:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 192, 64, 0, 0, 64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 192, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 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);
+ yych = *YYCURSOR;
+ YYDEBUG(-1, yych);
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x1F: goto yy184;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy140;
+ case '!': goto yy154;
+ case '"': goto yy180;
+ case '#': goto yy176;
+ case '$': goto yy165;
+ case '%': goto yy159;
+ case '&': goto yy160;
+ case '\'': goto yy178;
+ case '(': goto yy148;
+ case ')':
+ case ',':
+ case ';':
+ case '@':
+ case '[':
+ case ']':
+ case '~': goto yy166;
+ case '*': goto yy157;
+ case '+': goto yy153;
+ case '-': goto yy138;
+ case '.': goto yy145;
+ case '/': goto yy158;
+ case '0': goto yy172;
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy174;
+ case ':': goto yy142;
+ case '<': goto yy155;
+ case '=': goto yy151;
+ case '>': goto yy156;
+ case '?': goto yy167;
+ case 'A':
+ case 'a': goto yy133;
+ case 'B':
+ case 'b': goto yy135;
+ case 'C':
+ case 'c': goto yy127;
+ case 'D':
+ case 'd': goto yy125;
+ case 'E':
+ case 'e': goto yy123;
+ case 'F':
+ case 'f': goto yy126;
+ case 'G':
+ case 'g': goto yy136;
+ case 'I':
+ case 'i': goto yy131;
+ case 'L':
+ case 'l': goto yy152;
+ case 'N':
+ case 'n': goto yy146;
+ case 'O':
+ case 'o': goto yy163;
+ case 'P':
+ case 'p': goto yy137;
+ case 'R':
+ case 'r': goto yy128;
+ case 'S':
+ case 's': goto yy134;
+ case 'T':
+ case 't': goto yy130;
+ case 'U':
+ case 'u': goto yy149;
+ case 'V':
+ case 'v': goto yy147;
+ case 'W':
+ case 'w': goto yy132;
+ case 'X':
+ case 'x': goto yy164;
+ case 'Y':
+ case 'y': goto yy129;
+ case '\\': goto yy143;
+ case '^': goto yy162;
+ case '_': goto yy150;
+ case '`': goto yy182;
+ case '{': goto yy168;
+ case '|': goto yy161;
+ case '}': goto yy170;
+ default: goto yy175;
+ }
+yy123:
+ YYDEBUG(123, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(-1, yych);
+ switch ((yych = *YYCURSOR)) {
+ case 'C':
- case 'c': goto yy738;
++ case 'c': goto yy742;
+ case 'L':
- case 'l': goto yy739;
++ case 'l': goto yy743;
+ case 'M':
- case 'm': goto yy740;
++ case 'm': goto yy744;
+ case 'N':
- case 'n': goto yy741;
++ case 'n': goto yy745;
+ case 'V':
- case 'v': goto yy742;
++ case 'v': goto yy746;
+ case 'X':
- case 'x': goto yy743;
++ case 'x': goto yy747;
+ default: goto yy187;
+ }
+yy124:
+ YYDEBUG(124, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
++#line 1883 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, yytext, yyleng);
+ return T_STRING;
+}
+#line 2408 "Zend/zend_language_scanner.c"
+yy125:
+ YYDEBUG(125, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= 'H') {
- if (yych == 'E') goto yy720;
++ if (yych == 'E') goto yy724;
+ goto yy187;
+ } else {
- if (yych <= 'I') goto yy721;
++ if (yych <= 'I') goto yy725;
+ if (yych <= 'N') goto yy187;
- goto yy722;
++ goto yy726;
+ }
+ } else {
+ if (yych <= 'h') {
- if (yych == 'e') goto yy720;
++ if (yych == 'e') goto yy724;
+ goto yy187;
+ } else {
- if (yych <= 'i') goto yy721;
- if (yych == 'o') goto yy722;
++ if (yych <= 'i') goto yy725;
++ if (yych == 'o') goto yy726;
+ goto yy187;
+ }
+ }
+yy126:
+ YYDEBUG(126, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= 'N') {
- if (yych == 'I') goto yy696;
++ if (yych == 'I') goto yy700;
+ goto yy187;
+ } else {
- if (yych <= 'O') goto yy697;
++ if (yych <= 'O') goto yy701;
+ if (yych <= 'T') goto yy187;
- goto yy698;
++ goto yy702;
+ }
+ } else {
+ if (yych <= 'n') {
- if (yych == 'i') goto yy696;
++ if (yych == 'i') goto yy700;
+ goto yy187;
+ } else {
- if (yych <= 'o') goto yy697;
- if (yych == 'u') goto yy698;
++ if (yych <= 'o') goto yy701;
++ if (yych == 'u') goto yy702;
+ goto yy187;
+ }
+ }
+yy127:
+ YYDEBUG(127, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= 'K') {
- if (yych == 'A') goto yy661;
++ if (yych == 'A') goto yy665;
+ goto yy187;
+ } else {
- if (yych <= 'L') goto yy662;
++ if (yych <= 'L') goto yy666;
+ if (yych <= 'N') goto yy187;
- goto yy663;
++ goto yy667;
+ }
+ } else {
+ if (yych <= 'k') {
- if (yych == 'a') goto yy661;
++ if (yych == 'a') goto yy665;
+ goto yy187;
+ } else {
- if (yych <= 'l') goto yy662;
- if (yych == 'o') goto yy663;
++ if (yych <= 'l') goto yy666;
++ if (yych == 'o') goto yy667;
+ goto yy187;
+ }
+ }
+yy128:
+ YYDEBUG(128, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy643;
- if (yych == 'e') goto yy643;
++ if (yych == 'E') goto yy647;
++ if (yych == 'e') goto yy647;
+ goto yy187;
+yy129:
+ YYDEBUG(129, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy638;
- if (yych == 'i') goto yy638;
++ if (yych == 'I') goto yy642;
++ if (yych == 'i') goto yy642;
+ goto yy187;
+yy130:
+ YYDEBUG(130, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
- if (yych == 'H') goto yy626;
++ if (yych == 'H') goto yy630;
+ if (yych <= 'Q') goto yy187;
- goto yy627;
++ goto yy631;
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'g') goto yy187;
- goto yy626;
++ goto yy630;
+ } else {
- if (yych == 'r') goto yy627;
++ if (yych == 'r') goto yy631;
+ goto yy187;
+ }
+ }
+yy131:
+ YYDEBUG(131, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= 'L') {
- if (yych == 'F') goto yy573;
++ if (yych == 'F') goto yy577;
+ goto yy187;
+ } else {
- if (yych <= 'M') goto yy575;
- if (yych <= 'N') goto yy576;
++ if (yych <= 'M') goto yy579;
++ if (yych <= 'N') goto yy580;
+ if (yych <= 'R') goto yy187;
- goto yy577;
++ goto yy581;
+ }
+ } else {
+ if (yych <= 'm') {
- if (yych == 'f') goto yy573;
++ if (yych == 'f') goto yy577;
+ if (yych <= 'l') goto yy187;
- goto yy575;
++ goto yy579;
+ } else {
- if (yych <= 'n') goto yy576;
- if (yych == 's') goto yy577;
++ if (yych <= 'n') goto yy580;
++ if (yych == 's') goto yy581;
+ goto yy187;
+ }
+ }
+yy132:
+ YYDEBUG(132, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy568;
- if (yych == 'h') goto yy568;
++ if (yych == 'H') goto yy572;
++ if (yych == 'h') goto yy572;
+ goto yy187;
+yy133:
+ YYDEBUG(133, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= 'M') {
- if (yych == 'B') goto yy550;
++ if (yych == 'B') goto yy554;
+ goto yy187;
+ } else {
- if (yych <= 'N') goto yy551;
++ if (yych <= 'N') goto yy555;
+ if (yych <= 'Q') goto yy187;
- if (yych <= 'R') goto yy552;
- goto yy553;
++ if (yych <= 'R') goto yy556;
++ goto yy557;
+ }
+ } else {
+ if (yych <= 'n') {
- if (yych == 'b') goto yy550;
++ if (yych == 'b') goto yy554;
+ if (yych <= 'm') goto yy187;
- goto yy551;
++ goto yy555;
+ } else {
+ if (yych <= 'q') goto yy187;
- if (yych <= 'r') goto yy552;
- if (yych <= 's') goto yy553;
++ if (yych <= 'r') goto yy556;
++ if (yych <= 's') goto yy557;
+ goto yy187;
+ }
+ }
+yy134:
+ YYDEBUG(134, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'W') {
- if (yych == 'T') goto yy538;
++ if (yych == 'T') goto yy542;
+ if (yych <= 'V') goto yy187;
- goto yy539;
++ goto yy543;
+ } else {
+ if (yych <= 't') {
+ if (yych <= 's') goto yy187;
- goto yy538;
++ goto yy542;
+ } else {
- if (yych == 'w') goto yy539;
++ if (yych == 'w') goto yy543;
+ goto yy187;
+ }
+ }
+yy135:
+ YYDEBUG(135, *YYCURSOR);
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= ';') {
+ if (yych <= '"') {
+ if (yych <= '!') goto yy187;
- goto yy530;
++ goto yy534;
+ } else {
- if (yych == '\'') goto yy531;
++ if (yych == '\'') goto yy535;
+ goto yy187;
+ }
+ } else {
+ if (yych <= 'R') {
- if (yych <= '<') goto yy529;
++ if (yych <= '<') goto yy533;
+ if (yych <= 'Q') goto yy187;
- goto yy532;
++ goto yy536;
+ } else {
- if (yych == 'r') goto yy532;
++ if (yych == 'r') goto yy536;
+ goto yy187;
+ }
+ }
+yy136:
+ YYDEBUG(136, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
- if (yych == 'L') goto yy519;
++ if (yych == 'L') goto yy523;
+ if (yych <= 'N') goto yy187;
- goto yy520;
++ goto yy524;
+ } else {
+ if (yych <= 'l') {
+ if (yych <= 'k') goto yy187;
- goto yy519;
++ goto yy523;
+ } else {
- if (yych == 'o') goto yy520;
++ if (yych == 'o') goto yy524;
+ goto yy187;
+ }
+ }
+yy137:
+ YYDEBUG(137, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
- if (yych == 'R') goto yy495;
++ if (yych == 'R') goto yy499;
+ if (yych <= 'T') goto yy187;
- goto yy496;
++ goto yy500;
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q') goto yy187;
- goto yy495;
++ goto yy499;
+ } else {
- if (yych == 'u') goto yy496;
++ if (yych == 'u') goto yy500;
+ goto yy187;
+ }
+ }
+yy138:
+ YYDEBUG(138, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '<') {
- if (yych == '-') goto yy491;
++ if (yych == '-') goto yy495;
+ } else {
- if (yych <= '=') goto yy489;
- if (yych <= '>') goto yy493;
++ if (yych <= '=') goto yy493;
++ if (yych <= '>') goto yy497;
+ }
+yy139:
+ YYDEBUG(139, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1465 "Zend/zend_language_scanner.l"
++#line 1473 "Zend/zend_language_scanner.l"
+ {
+ return yytext[0];
+}
+#line 2644 "Zend/zend_language_scanner.c"
+yy140:
+ YYDEBUG(140, *YYCURSOR);
+ ++YYCURSOR;
+ yych = *YYCURSOR;
- goto yy488;
++ goto yy492;
+yy141:
+ YYDEBUG(141, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1195 "Zend/zend_language_scanner.l"
+ {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_WHITESPACE;
+}
+#line 2659 "Zend/zend_language_scanner.c"
+yy142:
+ YYDEBUG(142, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == ':') goto yy485;
++ if (yych == ':') goto yy489;
+ goto yy139;
+yy143:
+ YYDEBUG(143, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(144, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1221 "Zend/zend_language_scanner.l"
+ {
+ return T_NS_SEPARATOR;
+}
+#line 2674 "Zend/zend_language_scanner.c"
+yy145:
+ YYDEBUG(145, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
- if (yych == '.') goto yy482;
++ if (yych == '.') goto yy486;
+ goto yy139;
+ } else {
- if (yych <= '9') goto yy478;
- if (yych == '=') goto yy480;
++ if (yych <= '9') goto yy482;
++ if (yych == '=') goto yy484;
+ goto yy139;
+ }
+yy146:
+ YYDEBUG(146, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
- if (yych == 'A') goto yy466;
++ if (yych == 'A') goto yy470;
+ if (yych <= 'D') goto yy187;
- goto yy467;
++ goto yy471;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') goto yy187;
- goto yy466;
++ goto yy470;
+ } else {
- if (yych == 'e') goto yy467;
++ if (yych == 'e') goto yy471;
+ goto yy187;
+ }
+ }
+yy147:
+ YYDEBUG(147, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy463;
- if (yych == 'a') goto yy463;
++ if (yych == 'A') goto yy467;
++ if (yych == 'a') goto yy467;
+ goto yy187;
+yy148:
+ YYDEBUG(148, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= ' ') {
- if (yych == '\t') goto yy388;
++ if (yych == '\t') goto yy392;
+ if (yych <= 0x1F) goto yy139;
- goto yy388;
++ goto yy392;
+ } else {
+ if (yych <= '@') goto yy139;
+ if (yych == 'C') goto yy139;
- goto yy388;
++ goto yy392;
+ }
+ } else {
+ if (yych <= 'I') {
- if (yych == 'F') goto yy388;
++ if (yych == 'F') goto yy392;
+ if (yych <= 'H') goto yy139;
- goto yy388;
++ goto yy392;
+ } else {
- if (yych == 'O') goto yy388;
++ if (yych == 'O') goto yy392;
+ if (yych <= 'Q') goto yy139;
- goto yy388;
++ goto yy392;
+ }
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych <= 'b') {
- if (yych == 'U') goto yy388;
++ if (yych == 'U') goto yy392;
+ if (yych <= '`') goto yy139;
- goto yy388;
++ goto yy392;
+ } else {
- if (yych == 'd') goto yy388;
++ if (yych == 'd') goto yy392;
+ if (yych <= 'e') goto yy139;
- goto yy388;
++ goto yy392;
+ }
+ } else {
+ if (yych <= 'o') {
- if (yych == 'i') goto yy388;
++ if (yych == 'i') goto yy392;
+ if (yych <= 'n') goto yy139;
- goto yy388;
++ goto yy392;
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'q') goto yy139;
- goto yy388;
++ goto yy392;
+ } else {
- if (yych == 'u') goto yy388;
++ if (yych == 'u') goto yy392;
+ goto yy139;
+ }
+ }
+ }
+ }
+yy149:
+ YYDEBUG(149, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
- if (yych == 'N') goto yy379;
++ if (yych == 'N') goto yy383;
+ if (yych <= 'R') goto yy187;
- goto yy380;
++ goto yy384;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm') goto yy187;
- goto yy379;
++ goto yy383;
+ } else {
- if (yych == 's') goto yy380;
++ if (yych == 's') goto yy384;
+ goto yy187;
+ }
+ }
+yy150:
+ YYDEBUG(150, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '_') goto yy297;
++ if (yych == '_') goto yy301;
+ goto yy187;
+yy151:
+ YYDEBUG(151, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '<') goto yy139;
- if (yych <= '=') goto yy291;
- if (yych <= '>') goto yy293;
++ if (yych <= '=') goto yy295;
++ if (yych <= '>') goto yy297;
+ goto yy139;
+yy152:
+ YYDEBUG(152, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy287;
- if (yych == 'i') goto yy287;
++ if (yych == 'I') goto yy291;
++ if (yych == 'i') goto yy291;
+ goto yy187;
+yy153:
+ YYDEBUG(153, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '+') goto yy285;
- if (yych == '=') goto yy283;
++ if (yych == '+') goto yy289;
++ if (yych == '=') goto yy287;
+ goto yy139;
+yy154:
+ YYDEBUG(154, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '=') goto yy280;
++ if (yych == '=') goto yy284;
+ goto yy139;
+yy155:
+ YYDEBUG(155, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= ';') {
- if (yych == '/') goto yy252;
++ if (yych == '/') goto yy256;
+ goto yy139;
+ } else {
- if (yych <= '<') goto yy250;
- if (yych <= '=') goto yy253;
- if (yych <= '>') goto yy255;
++ if (yych <= '<') goto yy254;
++ if (yych <= '=') goto yy257;
++ if (yych <= '>') goto yy259;
+ goto yy139;
+ }
+yy156:
+ YYDEBUG(156, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '<') goto yy139;
- if (yych <= '=') goto yy246;
- if (yych <= '>') goto yy244;
++ if (yych <= '=') goto yy250;
++ if (yych <= '>') goto yy248;
+ goto yy139;
+yy157:
+ YYDEBUG(157, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '=') goto yy242;
++ if (yych == '*') goto yy242;
++ if (yych == '=') goto yy244;
+ goto yy139;
+yy158:
+ YYDEBUG(158, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '.') {
+ if (yych == '*') goto yy234;
+ goto yy139;
+ } else {
+ if (yych <= '/') goto yy236;
+ if (yych == '=') goto yy237;
+ goto yy139;
+ }
+yy159:
+ YYDEBUG(159, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '<') goto yy139;
+ if (yych <= '=') goto yy230;
+ if (yych <= '>') goto yy228;
+ goto yy139;
+yy160:
+ YYDEBUG(160, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '&') goto yy224;
+ if (yych == '=') goto yy226;
+ goto yy139;
+yy161:
+ YYDEBUG(161, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy222;
+ if (yych == '|') goto yy220;
+ goto yy139;
+yy162:
+ YYDEBUG(162, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy218;
+ goto yy139;
+yy163:
+ YYDEBUG(163, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy216;
+ if (yych == 'r') goto yy216;
+ goto yy187;
+yy164:
+ YYDEBUG(164, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy213;
+ if (yych == 'o') goto yy213;
+ goto yy187;
+yy165:
+ YYDEBUG(165, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy139;
+ if (yych <= 'Z') goto yy210;
+ if (yych <= '^') goto yy139;
+ goto yy210;
+ } else {
+ if (yych <= '`') goto yy139;
+ if (yych <= 'z') goto yy210;
+ if (yych <= '~') goto yy139;
+ goto yy210;
+ }
+yy166:
+ YYDEBUG(166, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy139;
+yy167:
+ YYDEBUG(167, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy206;
+ goto yy139;
+yy168:
+ YYDEBUG(168, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(169, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1470 "Zend/zend_language_scanner.l"
++#line 1478 "Zend/zend_language_scanner.l"
+ {
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ return '{';
+}
- #line 2912 "Zend/zend_language_scanner.c"
++#line 2913 "Zend/zend_language_scanner.c"
+yy170:
+ YYDEBUG(170, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(171, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1482 "Zend/zend_language_scanner.l"
++#line 1490 "Zend/zend_language_scanner.l"
+ {
+ RESET_DOC_COMMENT();
+ if (!zend_stack_is_empty(&SCNG(state_stack))) {
+ yy_pop_state(TSRMLS_C);
+ }
+ return '}';
+}
- #line 2926 "Zend/zend_language_scanner.c"
++#line 2927 "Zend/zend_language_scanner.c"
+yy172:
+ YYDEBUG(172, *YYCURSOR);
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'E') {
+ if (yych <= '9') {
+ if (yych == '.') goto yy188;
+ if (yych >= '0') goto yy191;
+ } else {
+ if (yych == 'B') goto yy199;
+ if (yych >= 'E') goto yy193;
+ }
+ } else {
+ if (yych <= 'b') {
+ if (yych == 'X') goto yy198;
+ if (yych >= 'b') goto yy199;
+ } else {
+ if (yych <= 'e') {
+ if (yych >= 'e') goto yy193;
+ } else {
+ if (yych == 'x') goto yy198;
+ }
+ }
+ }
+yy173:
+ YYDEBUG(173, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1530 "Zend/zend_language_scanner.l"
++#line 1538 "Zend/zend_language_scanner.l"
+ {
+ if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
+ ZVAL_LONG(zendlval, strtol(yytext, NULL, 0));
+ } else {
+ errno = 0;
+ ZVAL_LONG(zendlval, strtol(yytext, NULL, 0));
+ if (errno == ERANGE) { /* Overflow */
+ if (yytext[0] == '0') { /* octal overflow */
+ ZVAL_DOUBLE(zendlval, zend_oct_strtod(yytext, NULL));
+ } else {
+ ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
+ }
+ return T_DNUMBER;
+ }
+ }
+ return T_LNUMBER;
+}
- #line 2972 "Zend/zend_language_scanner.c"
++#line 2973 "Zend/zend_language_scanner.c"
+yy174:
+ YYDEBUG(174, *YYCURSOR);
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+ if (yych == '.') goto yy188;
+ if (yych <= '/') goto yy173;
+ goto yy191;
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') goto yy173;
+ goto yy193;
+ } else {
+ if (yych == 'e') goto yy193;
+ goto yy173;
+ }
+ }
+yy175:
+ YYDEBUG(175, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy187;
+yy176:
+ YYDEBUG(176, *YYCURSOR);
+ ++YYCURSOR;
+yy177:
+ YYDEBUG(177, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1881 "Zend/zend_language_scanner.l"
++#line 1889 "Zend/zend_language_scanner.l"
+ {
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ CG(zend_lineno)++;
+ break;
+ case '%':
+ if (!CG(asp_tags)) {
+ continue;
+ }
+ /* fall through */
+ case '?':
+ if (*YYCURSOR == '>') {
+ YYCURSOR--;
+ break;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ break;
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ return T_COMMENT;
+}
- #line 3034 "Zend/zend_language_scanner.c"
++#line 3035 "Zend/zend_language_scanner.c"
+yy178:
+ YYDEBUG(178, *YYCURSOR);
+ ++YYCURSOR;
+yy179:
+ YYDEBUG(179, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1967 "Zend/zend_language_scanner.l"
++#line 1975 "Zend/zend_language_scanner.l"
+ {
+ register char *s, *t;
+ char *end;
+ int bprefix = (yytext[0] != '\'') ? 1 : 0;
+
+ while (1) {
+ if (YYCURSOR < YYLIMIT) {
+ if (*YYCURSOR == '\'') {
+ YYCURSOR++;
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ break;
+ } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ } else {
+ yyleng = YYLIMIT - SCNG(yy_text);
+
+ /* Unclosed single quotes; treat similar to double quotes, but without a separate token
+ * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
+ * rule, which continued in ST_IN_SCRIPTING state after the quote */
+ return T_ENCAPSED_AND_WHITESPACE;
+ }
+ }
+
+ ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2);
+
+ /* convert escape sequences */
+ s = t = Z_STRVAL_P(zendlval);
+ end = s+Z_STRLEN_P(zendlval);
+ while (s<end) {
+ if (*s=='\\') {
+ s++;
+
+ switch(*s) {
+ case '\\':
+ case '\'':
+ *t++ = *s;
+ Z_STRLEN_P(zendlval)--;
+ break;
+ default:
+ *t++ = '\\';
+ *t++ = *s;
+ break;
+ }
+ } else {
+ *t++ = *s;
+ }
+
+ if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
+ CG(zend_lineno)++;
+ }
+ s++;
+ }
+ *t = 0;
+
+ if (SCNG(output_filter)) {
+ size_t sz = 0;
+ char *str = NULL;
+ s = Z_STRVAL_P(zendlval);
+ // TODO: avoid reallocation ???
+ SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval) TSRMLS_CC);
+ ZVAL_STRINGL(zendlval, str, sz);
+ efree(s);
+ }
+ return T_CONSTANT_ENCAPSED_STRING;
+}
- #line 3109 "Zend/zend_language_scanner.c"
++#line 3110 "Zend/zend_language_scanner.c"
+yy180:
+ YYDEBUG(180, *YYCURSOR);
+ ++YYCURSOR;
+yy181:
+ YYDEBUG(181, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2036 "Zend/zend_language_scanner.l"
++#line 2044 "Zend/zend_language_scanner.l"
+ {
+ int bprefix = (yytext[0] != '"') ? 1 : 0;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '"':
+ yyleng = YYCURSOR - SCNG(yy_text);
+ zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);
+ return T_CONSTANT_ENCAPSED_STRING;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+ /* Remember how much was scanned to save rescanning */
+ SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
+
+ YYCURSOR = SCNG(yy_text) + yyleng;
+
+ BEGIN(ST_DOUBLE_QUOTES);
+ return '"';
+}
- #line 3157 "Zend/zend_language_scanner.c"
++#line 3158 "Zend/zend_language_scanner.c"
+yy182:
+ YYDEBUG(182, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(183, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2126 "Zend/zend_language_scanner.l"
++#line 2134 "Zend/zend_language_scanner.l"
+ {
+ BEGIN(ST_BACKQUOTE);
+ return '`';
+}
- #line 3168 "Zend/zend_language_scanner.c"
++#line 3169 "Zend/zend_language_scanner.c"
+yy184:
+ YYDEBUG(184, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(185, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2388 "Zend/zend_language_scanner.l"
++#line 2396 "Zend/zend_language_scanner.l"
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
+ goto restart;
+}
- #line 3183 "Zend/zend_language_scanner.c"
++#line 3184 "Zend/zend_language_scanner.c"
+yy186:
+ YYDEBUG(186, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+yy187:
+ YYDEBUG(187, *YYCURSOR);
+ if (yybm[0+yych] & 4) {
+ goto yy186;
+ }
+ goto yy124;
+yy188:
+ YYDEBUG(188, *YYCURSOR);
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(189, *YYCURSOR);
+ if (yybm[0+yych] & 8) {
+ goto yy188;
+ }
+ if (yych == 'E') goto yy193;
+ if (yych == 'e') goto yy193;
+yy190:
+ YYDEBUG(190, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1585 "Zend/zend_language_scanner.l"
++#line 1593 "Zend/zend_language_scanner.l"
+ {
+ ZVAL_DOUBLE(zendlval, zend_strtod(yytext, NULL));
+ return T_DNUMBER;
+}
- #line 3215 "Zend/zend_language_scanner.c"
++#line 3216 "Zend/zend_language_scanner.c"
+yy191:
+ YYDEBUG(191, *YYCURSOR);
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(192, *YYCURSOR);
+ if (yych <= '9') {
+ if (yych == '.') goto yy188;
+ if (yych <= '/') goto yy173;
+ goto yy191;
+ } else {
+ if (yych <= 'E') {
+ if (yych <= 'D') goto yy173;
+ } else {
+ if (yych != 'e') goto yy173;
+ }
+ }
+yy193:
+ YYDEBUG(193, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= ',') {
+ if (yych == '+') goto yy195;
+ } else {
+ if (yych <= '-') goto yy195;
+ if (yych <= '/') goto yy194;
+ if (yych <= '9') goto yy196;
+ }
+yy194:
+ YYDEBUG(194, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 2) {
+ if (yyaccept <= 1) {
+ if (yyaccept <= 0) {
+ goto yy124;
+ } else {
+ goto yy139;
+ }
+ } else {
+ goto yy173;
+ }
+ } else {
+ if (yyaccept <= 4) {
+ if (yyaccept <= 3) {
+ goto yy190;
+ } else {
+ goto yy235;
+ }
+ } else {
- goto yy251;
++ goto yy255;
+ }
+ }
+yy195:
+ YYDEBUG(195, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy194;
+ if (yych >= ':') goto yy194;
+yy196:
+ YYDEBUG(196, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(197, *YYCURSOR);
+ if (yych <= '/') goto yy190;
+ if (yych <= '9') goto yy196;
+ goto yy190;
+yy198:
+ YYDEBUG(198, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 32) {
+ goto yy203;
+ }
+ goto yy194;
+yy199:
+ YYDEBUG(199, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy200;
+ }
+ goto yy194;
+yy200:
+ YYDEBUG(200, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(201, *YYCURSOR);
+ if (yybm[0+yych] & 16) {
+ goto yy200;
+ }
+ YYDEBUG(202, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1507 "Zend/zend_language_scanner.l"
++#line 1515 "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) {
+ ZVAL_LONG(zendlval, 0);
+ } else {
+ ZVAL_LONG(zendlval, strtol(bin, NULL, 2));
+ }
+ return T_LNUMBER;
+ } else {
+ ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, NULL));
+ return T_DNUMBER;
+ }
+}
- #line 3330 "Zend/zend_language_scanner.c"
++#line 3331 "Zend/zend_language_scanner.c"
+yy203:
+ YYDEBUG(203, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(204, *YYCURSOR);
+ if (yybm[0+yych] & 32) {
+ goto yy203;
+ }
+ YYDEBUG(205, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1548 "Zend/zend_language_scanner.l"
++#line 1556 "Zend/zend_language_scanner.l"
+ {
+ char *hex = yytext + 2; /* Skip "0x" */
+ int len = yyleng - 2;
+
+ /* Skip any leading 0s */
+ while (*hex == '0') {
+ hex++;
+ len--;
+ }
+
+ if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
+ if (len == 0) {
+ ZVAL_LONG(zendlval, 0);
+ } else {
+ ZVAL_LONG(zendlval, strtol(hex, NULL, 16));
+ }
+ return T_LNUMBER;
+ } else {
+ ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, NULL));
+ return T_DNUMBER;
+ }
+}
- #line 3365 "Zend/zend_language_scanner.c"
++#line 3366 "Zend/zend_language_scanner.c"
+yy206:
+ YYDEBUG(206, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '\n') goto yy208;
+ if (yych == '\r') goto yy209;
+yy207:
+ YYDEBUG(207, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1948 "Zend/zend_language_scanner.l"
++#line 1956 "Zend/zend_language_scanner.l"
+ {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ BEGIN(INITIAL);
+ return T_CLOSE_TAG; /* implicit ';' at php-end tag */
+}
- #line 3380 "Zend/zend_language_scanner.c"
++#line 3381 "Zend/zend_language_scanner.c"
+yy208:
+ YYDEBUG(208, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy207;
+yy209:
+ YYDEBUG(209, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy208;
+ goto yy207;
+yy210:
+ YYDEBUG(210, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(211, *YYCURSOR);
+ if (yych <= '^') {
+ if (yych <= '9') {
+ if (yych >= '0') goto yy210;
+ } else {
+ if (yych <= '@') goto yy212;
+ if (yych <= 'Z') goto yy210;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= '_') goto yy210;
+ } else {
+ if (yych <= 'z') goto yy210;
+ if (yych >= 0x7F) goto yy210;
+ }
+ }
+yy212:
+ YYDEBUG(212, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1853 "Zend/zend_language_scanner.l"
++#line 1861 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
- #line 3419 "Zend/zend_language_scanner.c"
++#line 3420 "Zend/zend_language_scanner.c"
+yy213:
+ YYDEBUG(213, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy214;
+ if (yych != 'r') goto yy187;
+yy214:
+ YYDEBUG(214, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
+ YYDEBUG(215, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1453 "Zend/zend_language_scanner.l"
++#line 1461 "Zend/zend_language_scanner.l"
+ {
+ return T_LOGICAL_XOR;
+}
- #line 3437 "Zend/zend_language_scanner.c"
++#line 3438 "Zend/zend_language_scanner.c"
+yy216:
+ YYDEBUG(216, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
+ YYDEBUG(217, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1445 "Zend/zend_language_scanner.l"
++#line 1453 "Zend/zend_language_scanner.l"
+ {
+ return T_LOGICAL_OR;
+}
- #line 3450 "Zend/zend_language_scanner.c"
++#line 3451 "Zend/zend_language_scanner.c"
+yy218:
+ YYDEBUG(218, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(219, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1433 "Zend/zend_language_scanner.l"
++#line 1441 "Zend/zend_language_scanner.l"
+ {
+ return T_XOR_EQUAL;
+}
- #line 3460 "Zend/zend_language_scanner.c"
++#line 3461 "Zend/zend_language_scanner.c"
+yy220:
+ YYDEBUG(220, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(221, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1437 "Zend/zend_language_scanner.l"
++#line 1445 "Zend/zend_language_scanner.l"
+ {
+ return T_BOOLEAN_OR;
+}
- #line 3470 "Zend/zend_language_scanner.c"
++#line 3471 "Zend/zend_language_scanner.c"
+yy222:
+ YYDEBUG(222, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(223, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1429 "Zend/zend_language_scanner.l"
++#line 1437 "Zend/zend_language_scanner.l"
+ {
+ return T_OR_EQUAL;
+}
- #line 3480 "Zend/zend_language_scanner.c"
++#line 3481 "Zend/zend_language_scanner.c"
+yy224:
+ YYDEBUG(224, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(225, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1441 "Zend/zend_language_scanner.l"
++#line 1449 "Zend/zend_language_scanner.l"
+ {
+ return T_BOOLEAN_AND;
+}
- #line 3490 "Zend/zend_language_scanner.c"
++#line 3491 "Zend/zend_language_scanner.c"
+yy226:
+ YYDEBUG(226, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(227, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1425 "Zend/zend_language_scanner.l"
++#line 1433 "Zend/zend_language_scanner.l"
+ {
+ return T_AND_EQUAL;
+}
- #line 3500 "Zend/zend_language_scanner.c"
++#line 3501 "Zend/zend_language_scanner.c"
+yy228:
+ YYDEBUG(228, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) == '\n') goto yy232;
+ if (yych == '\r') goto yy233;
+yy229:
+ YYDEBUG(229, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1955 "Zend/zend_language_scanner.l"
++#line 1963 "Zend/zend_language_scanner.l"
+ {
+ if (CG(asp_tags)) {
+ BEGIN(INITIAL);
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ return T_CLOSE_TAG; /* implicit ';' at php-end tag */
+ } else {
+ yyless(1);
+ return yytext[0];
+ }
+}
- #line 3520 "Zend/zend_language_scanner.c"
++#line 3521 "Zend/zend_language_scanner.c"
+yy230:
+ YYDEBUG(230, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(231, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1413 "Zend/zend_language_scanner.l"
++#line 1421 "Zend/zend_language_scanner.l"
+ {
+ return T_MOD_EQUAL;
+}
- #line 3530 "Zend/zend_language_scanner.c"
++#line 3531 "Zend/zend_language_scanner.c"
+yy232:
+ YYDEBUG(232, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy229;
+yy233:
+ YYDEBUG(233, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy232;
+ goto yy229;
+yy234:
+ YYDEBUG(234, *YYCURSOR);
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == '*') goto yy239;
+yy235:
+ YYDEBUG(235, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1915 "Zend/zend_language_scanner.l"
++#line 1923 "Zend/zend_language_scanner.l"
+ {
+ int doc_com;
+
+ if (yyleng > 2) {
+ doc_com = 1;
+ RESET_DOC_COMMENT();
+ } else {
+ doc_com = 0;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
+ break;
+ }
+ }
+
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ } else {
+ zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+ HANDLE_NEWLINES(yytext, yyleng);
+
+ if (doc_com) {
+ CG(doc_comment) = STR_INIT(yytext, yyleng, 0);
+ return T_DOC_COMMENT;
+ }
+
+ return T_COMMENT;
+}
- #line 3581 "Zend/zend_language_scanner.c"
++#line 3582 "Zend/zend_language_scanner.c"
+yy236:
+ YYDEBUG(236, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy177;
+yy237:
+ YYDEBUG(237, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(238, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1405 "Zend/zend_language_scanner.l"
++#line 1413 "Zend/zend_language_scanner.l"
+ {
+ return T_DIV_EQUAL;
+}
- #line 3595 "Zend/zend_language_scanner.c"
++#line 3596 "Zend/zend_language_scanner.c"
+yy239:
+ YYDEBUG(239, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy240;
+ }
+ goto yy194;
+yy240:
+ YYDEBUG(240, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(241, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy240;
+ }
+ goto yy235;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
+ ++YYCURSOR;
++ if ((yych = *YYCURSOR) == '=') goto yy246;
+ YYDEBUG(243, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1401 "Zend/zend_language_scanner.l"
++#line 1405 "Zend/zend_language_scanner.l"
+ {
- return T_MUL_EQUAL;
++ return T_POW;
+}
- #line 3622 "Zend/zend_language_scanner.c"
++#line 3624 "Zend/zend_language_scanner.c"
+yy244:
+ YYDEBUG(244, *YYCURSOR);
+ ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy248;
+ YYDEBUG(245, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1461 "Zend/zend_language_scanner.l"
++#line 1401 "Zend/zend_language_scanner.l"
+ {
- return T_SR;
++ return T_MUL_EQUAL;
+}
- #line 3633 "Zend/zend_language_scanner.c"
++#line 3634 "Zend/zend_language_scanner.c"
+yy246:
+ YYDEBUG(246, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(247, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1389 "Zend/zend_language_scanner.l"
++#line 1409 "Zend/zend_language_scanner.l"
+ {
- return T_IS_GREATER_OR_EQUAL;
++ return T_POW_EQUAL;
+}
- #line 3643 "Zend/zend_language_scanner.c"
++#line 3644 "Zend/zend_language_scanner.c"
+yy248:
+ YYDEBUG(248, *YYCURSOR);
+ ++YYCURSOR;
++ if ((yych = *YYCURSOR) == '=') goto yy252;
+ YYDEBUG(249, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1421 "Zend/zend_language_scanner.l"
++#line 1469 "Zend/zend_language_scanner.l"
+ {
- return T_SR_EQUAL;
++ return T_SR;
+}
- #line 3653 "Zend/zend_language_scanner.c"
++#line 3655 "Zend/zend_language_scanner.c"
+yy250:
+ YYDEBUG(250, *YYCURSOR);
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy251;
- if (yych <= '<') goto yy266;
- if (yych <= '=') goto yy264;
- yy251:
++ ++YYCURSOR;
+ YYDEBUG(251, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1457 "Zend/zend_language_scanner.l"
++#line 1389 "Zend/zend_language_scanner.l"
+ {
- return T_SL;
++ return T_IS_GREATER_OR_EQUAL;
+}
- #line 3668 "Zend/zend_language_scanner.c"
++#line 3665 "Zend/zend_language_scanner.c"
+yy252:
+ YYDEBUG(252, *YYCURSOR);
++ ++YYCURSOR;
++ YYDEBUG(253, *YYCURSOR);
++ yyleng = YYCURSOR - SCNG(yy_text);
++#line 1429 "Zend/zend_language_scanner.l"
++ {
++ return T_SR_EQUAL;
++}
++#line 3675 "Zend/zend_language_scanner.c"
++yy254:
++ YYDEBUG(254, *YYCURSOR);
++ yyaccept = 5;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= ';') goto yy255;
++ if (yych <= '<') goto yy270;
++ if (yych <= '=') goto yy268;
++yy255:
++ YYDEBUG(255, *YYCURSOR);
++ yyleng = YYCURSOR - SCNG(yy_text);
++#line 1465 "Zend/zend_language_scanner.l"
++ {
++ return T_SL;
++}
++#line 3690 "Zend/zend_language_scanner.c"
++yy256:
++ YYDEBUG(256, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy257;
- if (yych == 's') goto yy257;
++ if (yych == 'S') goto yy261;
++ if (yych == 's') goto yy261;
+ goto yy194;
- yy253:
- YYDEBUG(253, *YYCURSOR);
++yy257:
++ YYDEBUG(257, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(254, *YYCURSOR);
++ YYDEBUG(258, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1385 "Zend/zend_language_scanner.l"
+ {
+ return T_IS_SMALLER_OR_EQUAL;
+}
- #line 3684 "Zend/zend_language_scanner.c"
- yy255:
- YYDEBUG(255, *YYCURSOR);
++#line 3706 "Zend/zend_language_scanner.c"
++yy259:
++ YYDEBUG(259, *YYCURSOR);
+ ++YYCURSOR;
- yy256:
- YYDEBUG(256, *YYCURSOR);
++yy260:
++ YYDEBUG(260, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1381 "Zend/zend_language_scanner.l"
+ {
+ return T_IS_NOT_EQUAL;
+}
- #line 3695 "Zend/zend_language_scanner.c"
- yy257:
- YYDEBUG(257, *YYCURSOR);
++#line 3717 "Zend/zend_language_scanner.c"
++yy261:
++ YYDEBUG(261, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy258;
++ if (yych == 'C') goto yy262;
+ if (yych != 'c') goto yy194;
- yy258:
- YYDEBUG(258, *YYCURSOR);
++yy262:
++ YYDEBUG(262, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy259;
++ if (yych == 'R') goto yy263;
+ if (yych != 'r') goto yy194;
- yy259:
- YYDEBUG(259, *YYCURSOR);
++yy263:
++ YYDEBUG(263, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy260;
++ if (yych == 'I') goto yy264;
+ if (yych != 'i') goto yy194;
- yy260:
- YYDEBUG(260, *YYCURSOR);
++yy264:
++ YYDEBUG(264, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy261;
++ if (yych == 'P') goto yy265;
+ if (yych != 'p') goto yy194;
- yy261:
- YYDEBUG(261, *YYCURSOR);
++yy265:
++ YYDEBUG(265, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy262;
++ if (yych == 'T') goto yy266;
+ if (yych != 't') goto yy194;
- yy262:
- YYDEBUG(262, *YYCURSOR);
++yy266:
++ YYDEBUG(266, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
- YYDEBUG(263, *YYCURSOR);
++ YYDEBUG(267, *YYCURSOR);
+ if (yych <= '\r') {
+ if (yych <= 0x08) goto yy194;
- if (yych <= '\n') goto yy262;
++ if (yych <= '\n') goto yy266;
+ if (yych <= '\f') goto yy194;
- goto yy262;
++ goto yy266;
+ } else {
+ if (yych <= ' ') {
+ if (yych <= 0x1F) goto yy194;
- goto yy262;
++ goto yy266;
+ } else {
+ if (yych == '>') goto yy206;
+ goto yy194;
+ }
+ }
- yy264:
- YYDEBUG(264, *YYCURSOR);
++yy268:
++ YYDEBUG(268, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(265, *YYCURSOR);
++ YYDEBUG(269, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1417 "Zend/zend_language_scanner.l"
++#line 1425 "Zend/zend_language_scanner.l"
+ {
+ return T_SL_EQUAL;
+}
- #line 3750 "Zend/zend_language_scanner.c"
- yy266:
- YYDEBUG(266, *YYCURSOR);
++#line 3772 "Zend/zend_language_scanner.c"
++yy270:
++ YYDEBUG(270, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
- YYDEBUG(267, *YYCURSOR);
++ YYDEBUG(271, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
- goto yy266;
++ goto yy270;
+ }
+ if (yych <= 'Z') {
+ if (yych <= '&') {
- if (yych == '"') goto yy271;
++ if (yych == '"') goto yy275;
+ goto yy194;
+ } else {
- if (yych <= '\'') goto yy270;
++ if (yych <= '\'') goto yy274;
+ if (yych <= '@') goto yy194;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych != '_') goto yy194;
+ } else {
- if (yych <= 'z') goto yy268;
++ if (yych <= 'z') goto yy272;
+ if (yych <= '~') goto yy194;
+ }
+ }
- yy268:
- YYDEBUG(268, *YYCURSOR);
++yy272:
++ YYDEBUG(272, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
- YYDEBUG(269, *YYCURSOR);
++ YYDEBUG(273, *YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '\f') {
- if (yych == '\n') goto yy275;
++ if (yych == '\n') goto yy279;
+ goto yy194;
+ } else {
- if (yych <= '\r') goto yy277;
++ if (yych <= '\r') goto yy281;
+ if (yych <= '/') goto yy194;
- if (yych <= '9') goto yy268;
++ if (yych <= '9') goto yy272;
+ goto yy194;
+ }
+ } else {
+ if (yych <= '_') {
- if (yych <= 'Z') goto yy268;
++ if (yych <= 'Z') goto yy272;
+ if (yych <= '^') goto yy194;
- goto yy268;
++ goto yy272;
+ } else {
+ if (yych <= '`') goto yy194;
- if (yych <= 'z') goto yy268;
++ if (yych <= 'z') goto yy272;
+ if (yych <= '~') goto yy194;
- goto yy268;
++ goto yy272;
+ }
+ }
- yy270:
- YYDEBUG(270, *YYCURSOR);
++yy274:
++ YYDEBUG(274, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\'') goto yy194;
- if (yych <= '/') goto yy279;
++ if (yych <= '/') goto yy283;
+ if (yych <= '9') goto yy194;
- goto yy279;
- yy271:
- YYDEBUG(271, *YYCURSOR);
++ goto yy283;
++yy275:
++ YYDEBUG(275, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '"') goto yy194;
- if (yych <= '/') goto yy273;
++ if (yych <= '/') goto yy277;
+ if (yych <= '9') goto yy194;
- goto yy273;
- yy272:
- YYDEBUG(272, *YYCURSOR);
++ goto yy277;
++yy276:
++ YYDEBUG(276, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
- yy273:
- YYDEBUG(273, *YYCURSOR);
++yy277:
++ YYDEBUG(277, *YYCURSOR);
+ if (yych <= 'Z') {
+ if (yych <= '/') {
+ if (yych != '"') goto yy194;
+ } else {
- if (yych <= '9') goto yy272;
++ if (yych <= '9') goto yy276;
+ if (yych <= '@') goto yy194;
- goto yy272;
++ goto yy276;
+ }
+ } else {
+ if (yych <= '`') {
- if (yych == '_') goto yy272;
++ if (yych == '_') goto yy276;
+ goto yy194;
+ } else {
- if (yych <= 'z') goto yy272;
++ if (yych <= 'z') goto yy276;
+ if (yych <= '~') goto yy194;
- goto yy272;
++ goto yy276;
+ }
+ }
- yy274:
- YYDEBUG(274, *YYCURSOR);
++yy278:
++ YYDEBUG(278, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '\n') goto yy275;
- if (yych == '\r') goto yy277;
++ if (yych == '\n') goto yy279;
++ if (yych == '\r') goto yy281;
+ goto yy194;
- yy275:
- YYDEBUG(275, *YYCURSOR);
++yy279:
++ YYDEBUG(279, *YYCURSOR);
+ ++YYCURSOR;
- yy276:
- YYDEBUG(276, *YYCURSOR);
++yy280:
++ YYDEBUG(280, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2078 "Zend/zend_language_scanner.l"
++#line 2086 "Zend/zend_language_scanner.l"
+ {
+ char *s;
+ int bprefix = (yytext[0] != '<') ? 1 : 0;
+ zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
+
+ CG(zend_lineno)++;
+ heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
+ s = yytext+bprefix+3;
+ while ((*s == ' ') || (*s == '\t')) {
+ s++;
+ heredoc_label->length--;
+ }
+
+ if (*s == '\'') {
+ s++;
+ heredoc_label->length -= 2;
+
+ BEGIN(ST_NOWDOC);
+ } else {
+ if (*s == '"') {
+ s++;
+ heredoc_label->length -= 2;
+ }
+
+ BEGIN(ST_HEREDOC);
+ }
+
+ heredoc_label->label = estrndup(s, heredoc_label->length);
+
+ /* Check for ending label on the next line */
+ if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ BEGIN(ST_END_HEREDOC);
+ }
+ }
+
+ zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
+
+ return T_START_HEREDOC;
+}
- #line 3902 "Zend/zend_language_scanner.c"
- yy277:
- YYDEBUG(277, *YYCURSOR);
++#line 3924 "Zend/zend_language_scanner.c"
++yy281:
++ YYDEBUG(281, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '\n') goto yy275;
- goto yy276;
- yy278:
- YYDEBUG(278, *YYCURSOR);
++ if (yych == '\n') goto yy279;
++ goto yy280;
++yy282:
++ YYDEBUG(282, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
- yy279:
- YYDEBUG(279, *YYCURSOR);
++yy283:
++ YYDEBUG(283, *YYCURSOR);
+ if (yych <= 'Z') {
+ if (yych <= '/') {
- if (yych == '\'') goto yy274;
++ if (yych == '\'') goto yy278;
+ goto yy194;
+ } else {
- if (yych <= '9') goto yy278;
++ if (yych <= '9') goto yy282;
+ if (yych <= '@') goto yy194;
- goto yy278;
++ goto yy282;
+ }
+ } else {
+ if (yych <= '`') {
- if (yych == '_') goto yy278;
++ if (yych == '_') goto yy282;
+ goto yy194;
+ } else {
- if (yych <= 'z') goto yy278;
++ if (yych <= 'z') goto yy282;
+ if (yych <= '~') goto yy194;
- goto yy278;
++ goto yy282;
+ }
+ }
- yy280:
- YYDEBUG(280, *YYCURSOR);
++yy284:
++ YYDEBUG(284, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych != '=') goto yy256;
- YYDEBUG(281, *YYCURSOR);
++ if (yych != '=') goto yy260;
++ YYDEBUG(285, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(282, *YYCURSOR);
++ YYDEBUG(286, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1373 "Zend/zend_language_scanner.l"
+ {
+ return T_IS_NOT_IDENTICAL;
+}
- #line 3946 "Zend/zend_language_scanner.c"
- yy283:
- YYDEBUG(283, *YYCURSOR);
++#line 3968 "Zend/zend_language_scanner.c"
++yy287:
++ YYDEBUG(287, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(284, *YYCURSOR);
++ YYDEBUG(288, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1393 "Zend/zend_language_scanner.l"
+ {
+ return T_PLUS_EQUAL;
+}
- #line 3956 "Zend/zend_language_scanner.c"
- yy285:
- YYDEBUG(285, *YYCURSOR);
++#line 3978 "Zend/zend_language_scanner.c"
++yy289:
++ YYDEBUG(289, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(286, *YYCURSOR);
++ YYDEBUG(290, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1361 "Zend/zend_language_scanner.l"
+ {
+ return T_INC;
+}
- #line 3966 "Zend/zend_language_scanner.c"
- yy287:
- YYDEBUG(287, *YYCURSOR);
++#line 3988 "Zend/zend_language_scanner.c"
++yy291:
++ YYDEBUG(291, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy288;
++ if (yych == 'S') goto yy292;
+ if (yych != 's') goto yy187;
- yy288:
- YYDEBUG(288, *YYCURSOR);
++yy292:
++ YYDEBUG(292, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy289;
++ if (yych == 'T') goto yy293;
+ if (yych != 't') goto yy187;
- yy289:
- YYDEBUG(289, *YYCURSOR);
++yy293:
++ YYDEBUG(293, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(290, *YYCURSOR);
++ YYDEBUG(294, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1349 "Zend/zend_language_scanner.l"
+ {
+ return T_LIST;
+}
- #line 3989 "Zend/zend_language_scanner.c"
- yy291:
- YYDEBUG(291, *YYCURSOR);
++#line 4011 "Zend/zend_language_scanner.c"
++yy295:
++ YYDEBUG(295, *YYCURSOR);
+ ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy295;
- YYDEBUG(292, *YYCURSOR);
++ if ((yych = *YYCURSOR) == '=') goto yy299;
++ YYDEBUG(296, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1377 "Zend/zend_language_scanner.l"
+ {
+ return T_IS_EQUAL;
+}
- #line 4000 "Zend/zend_language_scanner.c"
- yy293:
- YYDEBUG(293, *YYCURSOR);
++#line 4022 "Zend/zend_language_scanner.c"
++yy297:
++ YYDEBUG(297, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(294, *YYCURSOR);
++ YYDEBUG(298, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1345 "Zend/zend_language_scanner.l"
+ {
+ return T_DOUBLE_ARROW;
+}
- #line 4010 "Zend/zend_language_scanner.c"
- yy295:
- YYDEBUG(295, *YYCURSOR);
++#line 4032 "Zend/zend_language_scanner.c"
++yy299:
++ YYDEBUG(299, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(296, *YYCURSOR);
++ YYDEBUG(300, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1369 "Zend/zend_language_scanner.l"
+ {
+ return T_IS_IDENTICAL;
+}
- #line 4020 "Zend/zend_language_scanner.c"
- yy297:
- YYDEBUG(297, *YYCURSOR);
++#line 4042 "Zend/zend_language_scanner.c"
++yy301:
++ YYDEBUG(301, *YYCURSOR);
+ yych = *++YYCURSOR;
+ YYDEBUG(-1, yych);
+ switch (yych) {
+ case 'C':
- case 'c': goto yy299;
++ case 'c': goto yy303;
+ case 'D':
- case 'd': goto yy304;
++ case 'd': goto yy308;
+ case 'F':
- case 'f': goto yy301;
++ case 'f': goto yy305;
+ case 'H':
- case 'h': goto yy298;
++ case 'h': goto yy302;
+ case 'L':
- case 'l': goto yy303;
++ case 'l': goto yy307;
+ case 'M':
- case 'm': goto yy302;
++ case 'm': goto yy306;
+ case 'N':
- case 'n': goto yy305;
++ case 'n': goto yy309;
+ case 'T':
- case 't': goto yy300;
++ case 't': goto yy304;
+ default: goto yy187;
+ }
- yy298:
- YYDEBUG(298, *YYCURSOR);
++yy302:
++ YYDEBUG(302, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy366;
- if (yych == 'a') goto yy366;
++ if (yych == 'A') goto yy370;
++ if (yych == 'a') goto yy370;
+ goto yy187;
- yy299:
- YYDEBUG(299, *YYCURSOR);
++yy303:
++ YYDEBUG(303, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy359;
- if (yych == 'l') goto yy359;
++ if (yych == 'L') goto yy363;
++ if (yych == 'l') goto yy363;
+ goto yy187;
- yy300:
- YYDEBUG(300, *YYCURSOR);
++yy304:
++ YYDEBUG(304, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy352;
- if (yych == 'r') goto yy352;
++ if (yych == 'R') goto yy356;
++ if (yych == 'r') goto yy356;
+ goto yy187;
- yy301:
- YYDEBUG(301, *YYCURSOR);
++yy305:
++ YYDEBUG(305, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
- if (yych == 'I') goto yy336;
++ if (yych == 'I') goto yy340;
+ if (yych <= 'T') goto yy187;
- goto yy337;
++ goto yy341;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h') goto yy187;
- goto yy336;
++ goto yy340;
+ } else {
- if (yych == 'u') goto yy337;
++ if (yych == 'u') goto yy341;
+ goto yy187;
+ }
+ }
- yy302:
- YYDEBUG(302, *YYCURSOR);
++yy306:
++ YYDEBUG(306, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy328;
- if (yych == 'e') goto yy328;
++ if (yych == 'E') goto yy332;
++ if (yych == 'e') goto yy332;
+ goto yy187;
- yy303:
- YYDEBUG(303, *YYCURSOR);
++yy307:
++ YYDEBUG(307, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy322;
- if (yych == 'i') goto yy322;
++ if (yych == 'I') goto yy326;
++ if (yych == 'i') goto yy326;
+ goto yy187;
- yy304:
- YYDEBUG(304, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy317;
- if (yych == 'i') goto yy317;
- goto yy187;
- yy305:
- YYDEBUG(305, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy306;
- if (yych != 'a') goto yy187;
- yy306:
- YYDEBUG(306, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy307;
- if (yych != 'm') goto yy187;
- yy307:
- YYDEBUG(307, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy308;
- if (yych != 'e') goto yy187;
+yy308:
+ YYDEBUG(308, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy309;
- if (yych != 's') goto yy187;
++ if (yych == 'I') goto yy321;
++ if (yych == 'i') goto yy321;
++ goto yy187;
+yy309:
+ YYDEBUG(309, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy310;
- if (yych != 'p') goto yy187;
++ if (yych == 'A') goto yy310;
++ if (yych != 'a') goto yy187;
+yy310:
+ YYDEBUG(310, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy311;
- if (yych != 'a') goto yy187;
++ if (yych == 'M') goto yy311;
++ if (yych != 'm') goto yy187;
+yy311:
+ YYDEBUG(311, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy312;
- if (yych != 'c') goto yy187;
++ if (yych == 'E') goto yy312;
++ if (yych != 'e') goto yy187;
+yy312:
+ YYDEBUG(312, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy313;
- if (yych != 'e') goto yy187;
++ if (yych == 'S') goto yy313;
++ if (yych != 's') goto yy187;
+yy313:
+ YYDEBUG(313, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych != '_') goto yy187;
++ if (yych == 'P') goto yy314;
++ if (yych != 'p') goto yy187;
++yy314:
+ YYDEBUG(314, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych != '_') goto yy187;
++ if (yych == 'A') goto yy315;
++ if (yych != 'a') goto yy187;
++yy315:
+ YYDEBUG(315, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'C') goto yy316;
++ if (yych != 'c') goto yy187;
++yy316:
++ YYDEBUG(316, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'E') goto yy317;
++ if (yych != 'e') goto yy187;
++yy317:
++ YYDEBUG(317, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych != '_') goto yy187;
++ YYDEBUG(318, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych != '_') goto yy187;
++ YYDEBUG(319, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(316, *YYCURSOR);
++ YYDEBUG(320, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1700 "Zend/zend_language_scanner.l"
++#line 1708 "Zend/zend_language_scanner.l"
+ {
+ if (Z_TYPE(CG(current_namespace)) != IS_UNDEF) {
+ ZVAL_DUP(zendlval, &CG(current_namespace));
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
+ return T_NS_C;
+}
- #line 4159 "Zend/zend_language_scanner.c"
- yy317:
- YYDEBUG(317, *YYCURSOR);
++#line 4181 "Zend/zend_language_scanner.c"
++yy321:
++ YYDEBUG(321, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy318;
++ if (yych == 'R') goto yy322;
+ if (yych != 'r') goto yy187;
- yy318:
- YYDEBUG(318, *YYCURSOR);
++yy322:
++ YYDEBUG(322, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(319, *YYCURSOR);
++ YYDEBUG(323, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(320, *YYCURSOR);
++ YYDEBUG(324, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(321, *YYCURSOR);
++ YYDEBUG(325, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1675 "Zend/zend_language_scanner.l"
++#line 1683 "Zend/zend_language_scanner.l"
+ {
+ zend_string *filename = zend_get_compiled_filename(TSRMLS_C);
+ zend_string *dirname;
+
+ if (!filename) {
+ filename = STR_EMPTY_ALLOC();
+ }
+
+ dirname = STR_INIT(filename->val, filename->len, 0);
+ zend_dirname(dirname->val, dirname->len);
+
+ if (strcmp(dirname->val, ".") == 0) {
+ dirname = STR_REALLOC(dirname, MAXPATHLEN, 0);
+#if HAVE_GETCWD
+ VCWD_GETCWD(dirname->val, MAXPATHLEN);
+#elif HAVE_GETWD
+ VCWD_GETWD(dirname->val);
+#endif
+ }
+
+ dirname->len = strlen(dirname->val);
+ ZVAL_STR(zendlval, dirname);
+ return T_DIR;
+}
- #line 4204 "Zend/zend_language_scanner.c"
- yy322:
- YYDEBUG(322, *YYCURSOR);
++#line 4226 "Zend/zend_language_scanner.c"
++yy326:
++ YYDEBUG(326, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy323;
++ if (yych == 'N') goto yy327;
+ if (yych != 'n') goto yy187;
- yy323:
- YYDEBUG(323, *YYCURSOR);
++yy327:
++ YYDEBUG(327, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy324;
++ if (yych == 'E') goto yy328;
+ if (yych != 'e') goto yy187;
- yy324:
- YYDEBUG(324, *YYCURSOR);
++yy328:
++ YYDEBUG(328, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(325, *YYCURSOR);
++ YYDEBUG(329, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(326, *YYCURSOR);
++ YYDEBUG(330, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(327, *YYCURSOR);
++ YYDEBUG(331, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1659 "Zend/zend_language_scanner.l"
++#line 1667 "Zend/zend_language_scanner.l"
+ {
+ ZVAL_LONG(zendlval, CG(zend_lineno));
+ return T_LINE;
+}
- #line 4234 "Zend/zend_language_scanner.c"
- yy328:
- YYDEBUG(328, *YYCURSOR);
++#line 4256 "Zend/zend_language_scanner.c"
++yy332:
++ YYDEBUG(332, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy329;
++ if (yych == 'T') goto yy333;
+ if (yych != 't') goto yy187;
- yy329:
- YYDEBUG(329, *YYCURSOR);
++yy333:
++ YYDEBUG(333, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy330;
++ if (yych == 'H') goto yy334;
+ if (yych != 'h') goto yy187;
- yy330:
- YYDEBUG(330, *YYCURSOR);
++yy334:
++ YYDEBUG(334, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy331;
++ if (yych == 'O') goto yy335;
+ if (yych != 'o') goto yy187;
- yy331:
- YYDEBUG(331, *YYCURSOR);
++yy335:
++ YYDEBUG(335, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy332;
++ if (yych == 'D') goto yy336;
+ if (yych != 'd') goto yy187;
- yy332:
- YYDEBUG(332, *YYCURSOR);
++yy336:
++ YYDEBUG(336, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(333, *YYCURSOR);
++ YYDEBUG(337, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(334, *YYCURSOR);
++ YYDEBUG(338, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(335, *YYCURSOR);
++ YYDEBUG(339, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1627 "Zend/zend_language_scanner.l"
++#line 1635 "Zend/zend_language_scanner.l"
+ {
+ if (CG(active_class_entry)) {
+ int len = 0;
+
+ if (CG(active_class_entry)->name) {
+ len += CG(active_class_entry)->name->len;
+ }
+ if (CG(active_op_array) && CG(active_op_array)->function_name) {
+ len += sizeof("::")-1;
+ len += CG(active_op_array)->function_name->len;
+ }
+ ZVAL_NEW_STR(zendlval, STR_ALLOC(len, 0));
+ len = 0;
+ if (CG(active_class_entry)->name) {
+ memcpy(Z_STRVAL_P(zendlval), CG(active_class_entry)->name->val, CG(active_class_entry)->name->len);
+ len += CG(active_class_entry)->name->len;
+ }
+ if (CG(active_op_array) && CG(active_op_array)->function_name) {
+ memcpy(Z_STRVAL_P(zendlval) + len, "::", sizeof("::")-1);
+ len += sizeof("::")-1;
+ memcpy(Z_STRVAL_P(zendlval) + len, CG(active_op_array)->function_name->val, CG(active_op_array)->function_name->len);
+ len += CG(active_op_array)->function_name->len;
+ }
+ Z_STRVAL_P(zendlval)[len] = 0;
+ } else if (CG(active_op_array) && CG(active_op_array)->function_name) {
+ ZVAL_STR(zendlval, STR_COPY(CG(active_op_array)->function_name));
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
+ return T_METHOD_C;
+}
- #line 4301 "Zend/zend_language_scanner.c"
- yy336:
- YYDEBUG(336, *YYCURSOR);
++#line 4323 "Zend/zend_language_scanner.c"
++yy340:
++ YYDEBUG(340, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy347;
- if (yych == 'l') goto yy347;
++ if (yych == 'L') goto yy351;
++ if (yych == 'l') goto yy351;
+ goto yy187;
- yy337:
- YYDEBUG(337, *YYCURSOR);
++yy341:
++ YYDEBUG(341, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy338;
++ if (yych == 'N') goto yy342;
+ if (yych != 'n') goto yy187;
- yy338:
- YYDEBUG(338, *YYCURSOR);
++yy342:
++ YYDEBUG(342, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy339;
++ if (yych == 'C') goto yy343;
+ if (yych != 'c') goto yy187;
- yy339:
- YYDEBUG(339, *YYCURSOR);
++yy343:
++ YYDEBUG(343, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy340;
++ if (yych == 'T') goto yy344;
+ if (yych != 't') goto yy187;
- yy340:
- YYDEBUG(340, *YYCURSOR);
++yy344:
++ YYDEBUG(344, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy341;
++ if (yych == 'I') goto yy345;
+ if (yych != 'i') goto yy187;
- yy341:
- YYDEBUG(341, *YYCURSOR);
++yy345:
++ YYDEBUG(345, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy342;
++ if (yych == 'O') goto yy346;
+ if (yych != 'o') goto yy187;
- yy342:
- YYDEBUG(342, *YYCURSOR);
++yy346:
++ YYDEBUG(346, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy343;
++ if (yych == 'N') goto yy347;
+ if (yych != 'n') goto yy187;
- yy343:
- YYDEBUG(343, *YYCURSOR);
++yy347:
++ YYDEBUG(347, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(344, *YYCURSOR);
++ YYDEBUG(348, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(345, *YYCURSOR);
++ YYDEBUG(349, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(346, *YYCURSOR);
++ YYDEBUG(350, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1617 "Zend/zend_language_scanner.l"
++#line 1625 "Zend/zend_language_scanner.l"
+ {
+ zend_op_array *op_array = CG(active_op_array);
+ if (op_array && op_array->function_name) {
+ ZVAL_STR(zendlval, STR_COPY(op_array->function_name));
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
+ return T_FUNC_C;
+}
- #line 4362 "Zend/zend_language_scanner.c"
- yy347:
- YYDEBUG(347, *YYCURSOR);
++#line 4384 "Zend/zend_language_scanner.c"
++yy351:
++ YYDEBUG(351, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy348;
++ if (yych == 'E') goto yy352;
+ if (yych != 'e') goto yy187;
- yy348:
- YYDEBUG(348, *YYCURSOR);
++yy352:
++ YYDEBUG(352, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(349, *YYCURSOR);
++ YYDEBUG(353, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(350, *YYCURSOR);
++ YYDEBUG(354, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(351, *YYCURSOR);
++ YYDEBUG(355, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1664 "Zend/zend_language_scanner.l"
++#line 1672 "Zend/zend_language_scanner.l"
+ {
+ zend_string *filename = zend_get_compiled_filename(TSRMLS_C);
+
+ if (!filename) {
+ ZVAL_EMPTY_STRING(zendlval);
+ } else {
+ ZVAL_STR(zendlval, STR_COPY(filename));
+ }
+ return T_FILE;
+}
- #line 4393 "Zend/zend_language_scanner.c"
- yy352:
- YYDEBUG(352, *YYCURSOR);
++#line 4415 "Zend/zend_language_scanner.c"
++yy356:
++ YYDEBUG(356, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy353;
++ if (yych == 'A') goto yy357;
+ if (yych != 'a') goto yy187;
- yy353:
- YYDEBUG(353, *YYCURSOR);
++yy357:
++ YYDEBUG(357, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy354;
++ if (yych == 'I') goto yy358;
+ if (yych != 'i') goto yy187;
- yy354:
- YYDEBUG(354, *YYCURSOR);
++yy358:
++ YYDEBUG(358, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy355;
++ if (yych == 'T') goto yy359;
+ if (yych != 't') goto yy187;
- yy355:
- YYDEBUG(355, *YYCURSOR);
++yy359:
++ YYDEBUG(359, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(356, *YYCURSOR);
++ YYDEBUG(360, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(357, *YYCURSOR);
++ YYDEBUG(361, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(358, *YYCURSOR);
++ YYDEBUG(362, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1607 "Zend/zend_language_scanner.l"
++#line 1615 "Zend/zend_language_scanner.l"
+ {
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ce->name && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
+ ZVAL_STR(zendlval, STR_COPY(ce->name));
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
+ return T_TRAIT_C;
+}
- #line 4433 "Zend/zend_language_scanner.c"
- yy359:
- YYDEBUG(359, *YYCURSOR);
++#line 4455 "Zend/zend_language_scanner.c"
++yy363:
++ YYDEBUG(363, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy360;
++ if (yych == 'A') goto yy364;
+ if (yych != 'a') goto yy187;
- yy360:
- YYDEBUG(360, *YYCURSOR);
++yy364:
++ YYDEBUG(364, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy361;
++ if (yych == 'S') goto yy365;
+ if (yych != 's') goto yy187;
- yy361:
- YYDEBUG(361, *YYCURSOR);
++yy365:
++ YYDEBUG(365, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy362;
++ if (yych == 'S') goto yy366;
+ if (yych != 's') goto yy187;
- yy362:
- YYDEBUG(362, *YYCURSOR);
++yy366:
++ YYDEBUG(366, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(363, *YYCURSOR);
++ YYDEBUG(367, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '_') goto yy187;
- YYDEBUG(364, *YYCURSOR);
++ YYDEBUG(368, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(365, *YYCURSOR);
++ YYDEBUG(369, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1590 "Zend/zend_language_scanner.l"
++#line 1598 "Zend/zend_language_scanner.l"
+ {
+ zend_class_entry *ce = CG(active_class_entry);
+ if (ce && ZEND_ACC_TRAIT == (ce->ce_flags & ZEND_ACC_TRAIT)) {
+ /* We create a special __CLASS__ constant that is going to be resolved
+ at run-time */
+ ZVAL_STRINGL(zendlval, "__CLASS__", sizeof("__CLASS__") - 1);
+ Z_TYPE_INFO_P(zendlval) = IS_CONSTANT_EX;
+ } else {
+ if (ce && ce->name) {
+ ZVAL_STR(zendlval, STR_COPY(ce->name));
+ } else {
+ ZVAL_EMPTY_STRING(zendlval);
+ }
+ }
+ return T_CLASS_C;
+}
- #line 4480 "Zend/zend_language_scanner.c"
- yy366:
- YYDEBUG(366, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy367;
- if (yych != 'l') goto yy187;
- yy367:
- YYDEBUG(367, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy368;
- if (yych != 't') goto yy187;
- yy368:
- YYDEBUG(368, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy187;
- YYDEBUG(369, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy370;
- if (yych != 'c') goto yy187;
++#line 4502 "Zend/zend_language_scanner.c"
+yy370:
+ YYDEBUG(370, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy371;
- if (yych != 'o') goto yy187;
++ if (yych == 'L') goto yy371;
++ if (yych != 'l') goto yy187;
+yy371:
+ YYDEBUG(371, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'M') goto yy372;
- if (yych != 'm') goto yy187;
++ if (yych == 'T') goto yy372;
++ if (yych != 't') goto yy187;
+yy372:
+ YYDEBUG(372, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy373;
- if (yych != 'p') goto yy187;
- yy373:
++ if (yych != '_') goto yy187;
+ YYDEBUG(373, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy374;
- if (yych != 'i') goto yy187;
++ if (yych == 'C') goto yy374;
++ if (yych != 'c') goto yy187;
+yy374:
+ YYDEBUG(374, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy375;
- if (yych != 'l') goto yy187;
++ if (yych == 'O') goto yy375;
++ if (yych != 'o') goto yy187;
+yy375:
+ YYDEBUG(375, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy376;
- if (yych != 'e') goto yy187;
++ if (yych == 'M') goto yy376;
++ if (yych != 'm') goto yy187;
+yy376:
+ YYDEBUG(376, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy377;
- if (yych != 'r') goto yy187;
++ if (yych == 'P') goto yy377;
++ if (yych != 'p') goto yy187;
+yy377:
+ YYDEBUG(377, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy186;
- }
++ yych = *++YYCURSOR;
++ if (yych == 'I') goto yy378;
++ if (yych != 'i') goto yy187;
++yy378:
+ YYDEBUG(378, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- #line 1313 "Zend/zend_language_scanner.l"
- {
- return T_HALT_COMPILER;
- }
- #line 4546 "Zend/zend_language_scanner.c"
++ yych = *++YYCURSOR;
++ if (yych == 'L') goto yy379;
++ if (yych != 'l') goto yy187;
+yy379:
+ YYDEBUG(379, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy383;
- if (yych == 's') goto yy383;
- goto yy187;
++ if (yych == 'E') goto yy380;
++ if (yych != 'e') goto yy187;
+yy380:
+ YYDEBUG(380, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy381;
- if (yych != 'e') goto yy187;
++ if (yych == 'R') goto yy381;
++ if (yych != 'r') goto yy187;
+yy381:
+ YYDEBUG(381, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
+ YYDEBUG(382, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1293 "Zend/zend_language_scanner.l"
++#line 1313 "Zend/zend_language_scanner.l"
+ {
- return T_USE;
++ return T_HALT_COMPILER;
+}
- #line 4570 "Zend/zend_language_scanner.c"
++#line 4568 "Zend/zend_language_scanner.c"
+yy383:
+ YYDEBUG(383, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy384;
- if (yych != 'e') goto yy187;
++ if (yych == 'S') goto yy387;
++ if (yych == 's') goto yy387;
++ goto yy187;
+yy384:
+ YYDEBUG(384, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy385;
- if (yych != 't') goto yy187;
++ if (yych == 'E') goto yy385;
++ if (yych != 'e') goto yy187;
+yy385:
+ YYDEBUG(385, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
+ YYDEBUG(386, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1341 "Zend/zend_language_scanner.l"
++#line 1293 "Zend/zend_language_scanner.l"
+ {
- return T_UNSET;
++ return T_USE;
+}
- #line 4593 "Zend/zend_language_scanner.c"
++#line 4592 "Zend/zend_language_scanner.c"
+yy387:
+ YYDEBUG(387, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'E') goto yy388;
++ if (yych != 'e') goto yy187;
++yy388:
++ YYDEBUG(388, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'T') goto yy389;
++ if (yych != 't') goto yy187;
++yy389:
++ YYDEBUG(389, *YYCURSOR);
++ ++YYCURSOR;
++ if (yybm[0+(yych = *YYCURSOR)] & 4) {
++ goto yy186;
++ }
++ YYDEBUG(390, *YYCURSOR);
++ yyleng = YYCURSOR - SCNG(yy_text);
++#line 1341 "Zend/zend_language_scanner.l"
++ {
++ return T_UNSET;
++}
++#line 4615 "Zend/zend_language_scanner.c"
++yy391:
++ YYDEBUG(391, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(7);
+ yych = *YYCURSOR;
- yy388:
- YYDEBUG(388, *YYCURSOR);
++yy392:
++ YYDEBUG(392, *YYCURSOR);
+ if (yych <= 'S') {
+ if (yych <= 'D') {
+ if (yych <= ' ') {
- if (yych == '\t') goto yy387;
++ if (yych == '\t') goto yy391;
+ if (yych <= 0x1F) goto yy194;
- goto yy387;
++ goto yy391;
+ } else {
+ if (yych <= 'A') {
+ if (yych <= '@') goto yy194;
- goto yy392;
++ goto yy396;
+ } else {
- if (yych <= 'B') goto yy390;
++ if (yych <= 'B') goto yy394;
+ if (yych <= 'C') goto yy194;
- goto yy395;
++ goto yy399;
+ }
+ }
+ } else {
+ if (yych <= 'I') {
- if (yych == 'F') goto yy396;
++ if (yych == 'F') goto yy400;
+ if (yych <= 'H') goto yy194;
- goto yy397;
++ goto yy401;
+ } else {
+ if (yych <= 'O') {
+ if (yych <= 'N') goto yy194;
- goto yy391;
++ goto yy395;
+ } else {
+ if (yych <= 'Q') goto yy194;
- if (yych <= 'R') goto yy394;
- goto yy393;
++ if (yych <= 'R') goto yy398;
++ goto yy397;
+ }
+ }
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych <= 'a') {
- if (yych == 'U') goto yy389;
++ if (yych == 'U') goto yy393;
+ if (yych <= '`') goto yy194;
- goto yy392;
++ goto yy396;
+ } else {
+ if (yych <= 'c') {
- if (yych <= 'b') goto yy390;
++ if (yych <= 'b') goto yy394;
+ goto yy194;
+ } else {
- if (yych <= 'd') goto yy395;
++ if (yych <= 'd') goto yy399;
+ if (yych <= 'e') goto yy194;
- goto yy396;
++ goto yy400;
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'i') {
+ if (yych <= 'h') goto yy194;
- goto yy397;
++ goto yy401;
+ } else {
- if (yych == 'o') goto yy391;
++ if (yych == 'o') goto yy395;
+ goto yy194;
+ }
+ } else {
+ if (yych <= 's') {
- if (yych <= 'r') goto yy394;
- goto yy393;
++ if (yych <= 'r') goto yy398;
++ goto yy397;
+ } else {
+ if (yych != 'u') goto yy194;
+ }
+ }
+ }
+ }
- yy389:
- YYDEBUG(389, *YYCURSOR);
++yy393:
++ YYDEBUG(393, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy456;
- if (yych == 'n') goto yy456;
++ if (yych == 'N') goto yy460;
++ if (yych == 'n') goto yy460;
+ goto yy194;
- yy390:
- YYDEBUG(390, *YYCURSOR);
++yy394:
++ YYDEBUG(394, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
- if (yych == 'I') goto yy443;
++ if (yych == 'I') goto yy447;
+ if (yych <= 'N') goto yy194;
- goto yy444;
++ goto yy448;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h') goto yy194;
- goto yy443;
++ goto yy447;
+ } else {
- if (yych == 'o') goto yy444;
++ if (yych == 'o') goto yy448;
+ goto yy194;
+ }
+ }
- yy391:
- YYDEBUG(391, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy435;
- if (yych == 'b') goto yy435;
- goto yy194;
- yy392:
- YYDEBUG(392, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy428;
- if (yych == 'r') goto yy428;
- goto yy194;
- yy393:
- YYDEBUG(393, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy420;
- if (yych == 't') goto yy420;
- goto yy194;
- yy394:
- YYDEBUG(394, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy418;
- if (yych == 'e') goto yy418;
- goto yy194;
+yy395:
+ YYDEBUG(395, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy414;
- if (yych == 'o') goto yy414;
++ if (yych == 'B') goto yy439;
++ if (yych == 'b') goto yy439;
+ goto yy194;
+yy396:
+ YYDEBUG(396, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy407;
- if (yych == 'l') goto yy407;
++ if (yych == 'R') goto yy432;
++ if (yych == 'r') goto yy432;
+ goto yy194;
+yy397:
+ YYDEBUG(397, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy398;
- if (yych != 'n') goto yy194;
++ if (yych == 'T') goto yy424;
++ if (yych == 't') goto yy424;
++ goto yy194;
+yy398:
+ YYDEBUG(398, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy399;
- if (yych != 't') goto yy194;
++ if (yych == 'E') goto yy422;
++ if (yych == 'e') goto yy422;
++ goto yy194;
+yy399:
+ YYDEBUG(399, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy400;
- if (yych != 'e') goto yy402;
++ if (yych == 'O') goto yy418;
++ if (yych == 'o') goto yy418;
++ goto yy194;
+yy400:
+ YYDEBUG(400, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'G') goto yy405;
- if (yych == 'g') goto yy405;
++ if (yych == 'L') goto yy411;
++ if (yych == 'l') goto yy411;
+ goto yy194;
+yy401:
+ YYDEBUG(401, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'N') goto yy402;
++ if (yych != 'n') goto yy194;
++yy402:
++ YYDEBUG(402, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'T') goto yy403;
++ if (yych != 't') goto yy194;
++yy403:
++ YYDEBUG(403, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'E') goto yy404;
++ if (yych != 'e') goto yy406;
++yy404:
++ YYDEBUG(404, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'G') goto yy409;
++ if (yych == 'g') goto yy409;
++ goto yy194;
++yy405:
++ YYDEBUG(405, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy402:
- YYDEBUG(402, *YYCURSOR);
++yy406:
++ YYDEBUG(406, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy401;
++ if (yych == '\t') goto yy405;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy401;
++ if (yych <= ' ') goto yy405;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(403, *YYCURSOR);
++ YYDEBUG(407, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(404, *YYCURSOR);
++ YYDEBUG(408, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1241 "Zend/zend_language_scanner.l"
+ {
+ return T_INT_CAST;
+}
- #line 4769 "Zend/zend_language_scanner.c"
- yy405:
- YYDEBUG(405, *YYCURSOR);
++#line 4791 "Zend/zend_language_scanner.c"
++yy409:
++ YYDEBUG(409, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy406;
++ if (yych == 'E') goto yy410;
+ if (yych != 'e') goto yy194;
- yy406:
- YYDEBUG(406, *YYCURSOR);
++yy410:
++ YYDEBUG(410, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy401;
- if (yych == 'r') goto yy401;
++ if (yych == 'R') goto yy405;
++ if (yych == 'r') goto yy405;
+ goto yy194;
- yy407:
- YYDEBUG(407, *YYCURSOR);
++yy411:
++ YYDEBUG(411, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy408;
++ if (yych == 'O') goto yy412;
+ if (yych != 'o') goto yy194;
- yy408:
- YYDEBUG(408, *YYCURSOR);
++yy412:
++ YYDEBUG(412, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy409;
++ if (yych == 'A') goto yy413;
+ if (yych != 'a') goto yy194;
- yy409:
- YYDEBUG(409, *YYCURSOR);
++yy413:
++ YYDEBUG(413, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy410;
++ if (yych == 'T') goto yy414;
+ if (yych != 't') goto yy194;
- yy410:
- YYDEBUG(410, *YYCURSOR);
++yy414:
++ YYDEBUG(414, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(411, *YYCURSOR);
++ YYDEBUG(415, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy410;
++ if (yych == '\t') goto yy414;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy410;
++ if (yych <= ' ') goto yy414;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(412, *YYCURSOR);
++ YYDEBUG(416, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(413, *YYCURSOR);
++ YYDEBUG(417, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1245 "Zend/zend_language_scanner.l"
+ {
+ return T_DOUBLE_CAST;
+}
- #line 4817 "Zend/zend_language_scanner.c"
- yy414:
- YYDEBUG(414, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy415;
- if (yych != 'u') goto yy194;
- yy415:
- YYDEBUG(415, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy416;
- if (yych != 'b') goto yy194;
- yy416:
- YYDEBUG(416, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy417;
- if (yych != 'l') goto yy194;
- yy417:
- YYDEBUG(417, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy410;
- if (yych == 'e') goto yy410;
- goto yy194;
++#line 4839 "Zend/zend_language_scanner.c"
+yy418:
+ YYDEBUG(418, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy419;
- if (yych != 'a') goto yy194;
++ if (yych == 'U') goto yy419;
++ if (yych != 'u') goto yy194;
+yy419:
+ YYDEBUG(419, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy410;
- if (yych == 'l') goto yy410;
- goto yy194;
++ if (yych == 'B') goto yy420;
++ if (yych != 'b') goto yy194;
+yy420:
+ YYDEBUG(420, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy421;
- if (yych != 'r') goto yy194;
++ if (yych == 'L') goto yy421;
++ if (yych != 'l') goto yy194;
+yy421:
+ YYDEBUG(421, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy422;
- if (yych != 'i') goto yy194;
++ if (yych == 'E') goto yy414;
++ if (yych == 'e') goto yy414;
++ goto yy194;
+yy422:
+ YYDEBUG(422, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy423;
- if (yych != 'n') goto yy194;
++ if (yych == 'A') goto yy423;
++ if (yych != 'a') goto yy194;
+yy423:
+ YYDEBUG(423, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'G') goto yy424;
- if (yych != 'g') goto yy194;
++ if (yych == 'L') goto yy414;
++ if (yych == 'l') goto yy414;
++ goto yy194;
+yy424:
+ YYDEBUG(424, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'R') goto yy425;
++ if (yych != 'r') goto yy194;
++yy425:
++ YYDEBUG(425, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'I') goto yy426;
++ if (yych != 'i') goto yy194;
++yy426:
++ YYDEBUG(426, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'N') goto yy427;
++ if (yych != 'n') goto yy194;
++yy427:
++ YYDEBUG(427, *YYCURSOR);
++ yych = *++YYCURSOR;
++ if (yych == 'G') goto yy428;
++ if (yych != 'g') goto yy194;
++yy428:
++ YYDEBUG(428, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(425, *YYCURSOR);
++ YYDEBUG(429, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy424;
++ if (yych == '\t') goto yy428;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy424;
++ if (yych <= ' ') goto yy428;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(426, *YYCURSOR);
++ YYDEBUG(430, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(427, *YYCURSOR);
++ YYDEBUG(431, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1249 "Zend/zend_language_scanner.l"
+ {
+ return T_STRING_CAST;
+}
- #line 4891 "Zend/zend_language_scanner.c"
- yy428:
- YYDEBUG(428, *YYCURSOR);
++#line 4913 "Zend/zend_language_scanner.c"
++yy432:
++ YYDEBUG(432, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy429;
++ if (yych == 'R') goto yy433;
+ if (yych != 'r') goto yy194;
- yy429:
- YYDEBUG(429, *YYCURSOR);
++yy433:
++ YYDEBUG(433, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy430;
++ if (yych == 'A') goto yy434;
+ if (yych != 'a') goto yy194;
- yy430:
- YYDEBUG(430, *YYCURSOR);
++yy434:
++ YYDEBUG(434, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'Y') goto yy431;
++ if (yych == 'Y') goto yy435;
+ if (yych != 'y') goto yy194;
- yy431:
- YYDEBUG(431, *YYCURSOR);
++yy435:
++ YYDEBUG(435, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(432, *YYCURSOR);
++ YYDEBUG(436, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy431;
++ if (yych == '\t') goto yy435;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy431;
++ if (yych <= ' ') goto yy435;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(433, *YYCURSOR);
++ YYDEBUG(437, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(434, *YYCURSOR);
++ YYDEBUG(438, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1253 "Zend/zend_language_scanner.l"
+ {
+ return T_ARRAY_CAST;
+}
- #line 4928 "Zend/zend_language_scanner.c"
- yy435:
- YYDEBUG(435, *YYCURSOR);
++#line 4950 "Zend/zend_language_scanner.c"
++yy439:
++ YYDEBUG(439, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'J') goto yy436;
++ if (yych == 'J') goto yy440;
+ if (yych != 'j') goto yy194;
- yy436:
- YYDEBUG(436, *YYCURSOR);
++yy440:
++ YYDEBUG(440, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy437;
++ if (yych == 'E') goto yy441;
+ if (yych != 'e') goto yy194;
- yy437:
- YYDEBUG(437, *YYCURSOR);
++yy441:
++ YYDEBUG(441, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy438;
++ if (yych == 'C') goto yy442;
+ if (yych != 'c') goto yy194;
- yy438:
- YYDEBUG(438, *YYCURSOR);
++yy442:
++ YYDEBUG(442, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy439;
++ if (yych == 'T') goto yy443;
+ if (yych != 't') goto yy194;
- yy439:
- YYDEBUG(439, *YYCURSOR);
++yy443:
++ YYDEBUG(443, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(440, *YYCURSOR);
++ YYDEBUG(444, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy439;
++ if (yych == '\t') goto yy443;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy439;
++ if (yych <= ' ') goto yy443;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(441, *YYCURSOR);
++ YYDEBUG(445, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(442, *YYCURSOR);
++ YYDEBUG(446, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1257 "Zend/zend_language_scanner.l"
+ {
+ return T_OBJECT_CAST;
+}
- #line 4970 "Zend/zend_language_scanner.c"
- yy443:
- YYDEBUG(443, *YYCURSOR);
++#line 4992 "Zend/zend_language_scanner.c"
++yy447:
++ YYDEBUG(447, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy453;
- if (yych == 'n') goto yy453;
++ if (yych == 'N') goto yy457;
++ if (yych == 'n') goto yy457;
+ goto yy194;
- yy444:
- YYDEBUG(444, *YYCURSOR);
++yy448:
++ YYDEBUG(448, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy445;
++ if (yych == 'O') goto yy449;
+ if (yych != 'o') goto yy194;
- yy445:
- YYDEBUG(445, *YYCURSOR);
++yy449:
++ YYDEBUG(449, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy446;
++ if (yych == 'L') goto yy450;
+ if (yych != 'l') goto yy194;
- yy446:
- YYDEBUG(446, *YYCURSOR);
++yy450:
++ YYDEBUG(450, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy451;
- if (yych == 'e') goto yy451;
- goto yy448;
- yy447:
- YYDEBUG(447, *YYCURSOR);
++ if (yych == 'E') goto yy455;
++ if (yych == 'e') goto yy455;
++ goto yy452;
++yy451:
++ YYDEBUG(451, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy448:
- YYDEBUG(448, *YYCURSOR);
++yy452:
++ YYDEBUG(452, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy447;
++ if (yych == '\t') goto yy451;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy447;
++ if (yych <= ' ') goto yy451;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(449, *YYCURSOR);
++ YYDEBUG(453, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(450, *YYCURSOR);
++ YYDEBUG(454, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1261 "Zend/zend_language_scanner.l"
+ {
+ return T_BOOL_CAST;
+}
- #line 5015 "Zend/zend_language_scanner.c"
- yy451:
- YYDEBUG(451, *YYCURSOR);
++#line 5037 "Zend/zend_language_scanner.c"
++yy455:
++ YYDEBUG(455, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy452;
++ if (yych == 'A') goto yy456;
+ if (yych != 'a') goto yy194;
- yy452:
- YYDEBUG(452, *YYCURSOR);
++yy456:
++ YYDEBUG(456, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy447;
- if (yych == 'n') goto yy447;
++ if (yych == 'N') goto yy451;
++ if (yych == 'n') goto yy451;
+ goto yy194;
- yy453:
- YYDEBUG(453, *YYCURSOR);
++yy457:
++ YYDEBUG(457, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy454;
++ if (yych == 'A') goto yy458;
+ if (yych != 'a') goto yy194;
- yy454:
- YYDEBUG(454, *YYCURSOR);
++yy458:
++ YYDEBUG(458, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy455;
++ if (yych == 'R') goto yy459;
+ if (yych != 'r') goto yy194;
- yy455:
- YYDEBUG(455, *YYCURSOR);
++yy459:
++ YYDEBUG(459, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'Y') goto yy424;
- if (yych == 'y') goto yy424;
++ if (yych == 'Y') goto yy428;
++ if (yych == 'y') goto yy428;
+ goto yy194;
- yy456:
- YYDEBUG(456, *YYCURSOR);
++yy460:
++ YYDEBUG(460, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy457;
++ if (yych == 'S') goto yy461;
+ if (yych != 's') goto yy194;
- yy457:
- YYDEBUG(457, *YYCURSOR);
++yy461:
++ YYDEBUG(461, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy458;
++ if (yych == 'E') goto yy462;
+ if (yych != 'e') goto yy194;
- yy458:
- YYDEBUG(458, *YYCURSOR);
++yy462:
++ YYDEBUG(462, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy459;
++ if (yych == 'T') goto yy463;
+ if (yych != 't') goto yy194;
- yy459:
- YYDEBUG(459, *YYCURSOR);
++yy463:
++ YYDEBUG(463, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(460, *YYCURSOR);
++ YYDEBUG(464, *YYCURSOR);
+ if (yych <= 0x1F) {
- if (yych == '\t') goto yy459;
++ if (yych == '\t') goto yy463;
+ goto yy194;
+ } else {
- if (yych <= ' ') goto yy459;
++ if (yych <= ' ') goto yy463;
+ if (yych != ')') goto yy194;
+ }
- YYDEBUG(461, *YYCURSOR);
++ YYDEBUG(465, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(462, *YYCURSOR);
++ YYDEBUG(466, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1265 "Zend/zend_language_scanner.l"
+ {
+ return T_UNSET_CAST;
+}
- #line 5079 "Zend/zend_language_scanner.c"
- yy463:
- YYDEBUG(463, *YYCURSOR);
++#line 5101 "Zend/zend_language_scanner.c"
++yy467:
++ YYDEBUG(467, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy464;
++ if (yych == 'R') goto yy468;
+ if (yych != 'r') goto yy187;
- yy464:
- YYDEBUG(464, *YYCURSOR);
++yy468:
++ YYDEBUG(468, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(465, *YYCURSOR);
++ YYDEBUG(469, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1237 "Zend/zend_language_scanner.l"
+ {
+ return T_VAR;
+}
- #line 5097 "Zend/zend_language_scanner.c"
- yy466:
- YYDEBUG(466, *YYCURSOR);
++#line 5119 "Zend/zend_language_scanner.c"
++yy470:
++ YYDEBUG(470, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'M') goto yy470;
- if (yych == 'm') goto yy470;
++ if (yych == 'M') goto yy474;
++ if (yych == 'm') goto yy474;
+ goto yy187;
- yy467:
- YYDEBUG(467, *YYCURSOR);
++yy471:
++ YYDEBUG(471, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'W') goto yy468;
++ if (yych == 'W') goto yy472;
+ if (yych != 'w') goto yy187;
- yy468:
- YYDEBUG(468, *YYCURSOR);
++yy472:
++ YYDEBUG(472, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(469, *YYCURSOR);
++ YYDEBUG(473, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1229 "Zend/zend_language_scanner.l"
+ {
+ return T_NEW;
+}
- #line 5121 "Zend/zend_language_scanner.c"
- yy470:
- YYDEBUG(470, *YYCURSOR);
++#line 5143 "Zend/zend_language_scanner.c"
++yy474:
++ YYDEBUG(474, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy471;
++ if (yych == 'E') goto yy475;
+ if (yych != 'e') goto yy187;
- yy471:
- YYDEBUG(471, *YYCURSOR);
++yy475:
++ YYDEBUG(475, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy472;
++ if (yych == 'S') goto yy476;
+ if (yych != 's') goto yy187;
- yy472:
- YYDEBUG(472, *YYCURSOR);
++yy476:
++ YYDEBUG(476, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy473;
++ if (yych == 'P') goto yy477;
+ if (yych != 'p') goto yy187;
- yy473:
- YYDEBUG(473, *YYCURSOR);
++yy477:
++ YYDEBUG(477, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy474;
++ if (yych == 'A') goto yy478;
+ if (yych != 'a') goto yy187;
- yy474:
- YYDEBUG(474, *YYCURSOR);
++yy478:
++ YYDEBUG(478, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy475;
++ if (yych == 'C') goto yy479;
+ if (yych != 'c') goto yy187;
- yy475:
- YYDEBUG(475, *YYCURSOR);
++yy479:
++ YYDEBUG(479, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy476;
++ if (yych == 'E') goto yy480;
+ if (yych != 'e') goto yy187;
- yy476:
- YYDEBUG(476, *YYCURSOR);
++yy480:
++ YYDEBUG(480, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(477, *YYCURSOR);
++ YYDEBUG(481, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1289 "Zend/zend_language_scanner.l"
+ {
+ return T_NAMESPACE;
+}
- #line 5164 "Zend/zend_language_scanner.c"
- yy478:
- YYDEBUG(478, *YYCURSOR);
++#line 5186 "Zend/zend_language_scanner.c"
++yy482:
++ YYDEBUG(482, *YYCURSOR);
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
- YYDEBUG(479, *YYCURSOR);
++ YYDEBUG(483, *YYCURSOR);
+ if (yych <= 'D') {
+ if (yych <= '/') goto yy190;
- if (yych <= '9') goto yy478;
++ if (yych <= '9') goto yy482;
+ goto yy190;
+ } else {
+ if (yych <= 'E') goto yy193;
+ if (yych == 'e') goto yy193;
+ goto yy190;
+ }
- yy480:
- YYDEBUG(480, *YYCURSOR);
++yy484:
++ YYDEBUG(484, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(481, *YYCURSOR);
++ YYDEBUG(485, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1409 "Zend/zend_language_scanner.l"
++#line 1417 "Zend/zend_language_scanner.l"
+ {
+ return T_CONCAT_EQUAL;
+}
- #line 5190 "Zend/zend_language_scanner.c"
- yy482:
- YYDEBUG(482, *YYCURSOR);
++#line 5212 "Zend/zend_language_scanner.c"
++yy486:
++ YYDEBUG(486, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '.') goto yy194;
- YYDEBUG(483, *YYCURSOR);
++ YYDEBUG(487, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(484, *YYCURSOR);
++ YYDEBUG(488, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1225 "Zend/zend_language_scanner.l"
+ {
+ return T_ELLIPSIS;
+}
- #line 5203 "Zend/zend_language_scanner.c"
- yy485:
- YYDEBUG(485, *YYCURSOR);
++#line 5225 "Zend/zend_language_scanner.c"
++yy489:
++ YYDEBUG(489, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(486, *YYCURSOR);
++ YYDEBUG(490, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1217 "Zend/zend_language_scanner.l"
+ {
+ return T_PAAMAYIM_NEKUDOTAYIM;
+}
- #line 5213 "Zend/zend_language_scanner.c"
- yy487:
- YYDEBUG(487, *YYCURSOR);
++#line 5235 "Zend/zend_language_scanner.c"
++yy491:
++ YYDEBUG(491, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy488:
- YYDEBUG(488, *YYCURSOR);
++yy492:
++ YYDEBUG(492, *YYCURSOR);
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy141;
- if (yych <= '\n') goto yy487;
++ if (yych <= '\n') goto yy491;
+ goto yy141;
+ } else {
- if (yych <= '\r') goto yy487;
- if (yych == ' ') goto yy487;
++ if (yych <= '\r') goto yy491;
++ if (yych == ' ') goto yy491;
+ goto yy141;
+ }
- yy489:
- YYDEBUG(489, *YYCURSOR);
++yy493:
++ YYDEBUG(493, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(490, *YYCURSOR);
++ YYDEBUG(494, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1397 "Zend/zend_language_scanner.l"
+ {
+ return T_MINUS_EQUAL;
+}
- #line 5239 "Zend/zend_language_scanner.c"
- yy491:
- YYDEBUG(491, *YYCURSOR);
++#line 5261 "Zend/zend_language_scanner.c"
++yy495:
++ YYDEBUG(495, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(492, *YYCURSOR);
++ YYDEBUG(496, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1365 "Zend/zend_language_scanner.l"
+ {
+ return T_DEC;
+}
- #line 5249 "Zend/zend_language_scanner.c"
- yy493:
- YYDEBUG(493, *YYCURSOR);
++#line 5271 "Zend/zend_language_scanner.c"
++yy497:
++ YYDEBUG(497, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(494, *YYCURSOR);
++ YYDEBUG(498, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1190 "Zend/zend_language_scanner.l"
+ {
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ return T_OBJECT_OPERATOR;
+}
- #line 5260 "Zend/zend_language_scanner.c"
- yy495:
- YYDEBUG(495, *YYCURSOR);
++#line 5282 "Zend/zend_language_scanner.c"
++yy499:
++ YYDEBUG(499, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
- if (yych == 'I') goto yy502;
++ if (yych == 'I') goto yy506;
+ if (yych <= 'N') goto yy187;
- goto yy503;
++ goto yy507;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h') goto yy187;
- goto yy502;
++ goto yy506;
+ } else {
- if (yych == 'o') goto yy503;
++ if (yych == 'o') goto yy507;
+ goto yy187;
+ }
+ }
- yy496:
- YYDEBUG(496, *YYCURSOR);
++yy500:
++ YYDEBUG(500, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'B') goto yy497;
++ if (yych == 'B') goto yy501;
+ if (yych != 'b') goto yy187;
- yy497:
- YYDEBUG(497, *YYCURSOR);
++yy501:
++ YYDEBUG(501, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy498;
++ if (yych == 'L') goto yy502;
+ if (yych != 'l') goto yy187;
- yy498:
- YYDEBUG(498, *YYCURSOR);
++yy502:
++ YYDEBUG(502, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy499;
++ if (yych == 'I') goto yy503;
+ if (yych != 'i') goto yy187;
- yy499:
- YYDEBUG(499, *YYCURSOR);
++yy503:
++ YYDEBUG(503, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy500;
++ if (yych == 'C') goto yy504;
+ if (yych != 'c') goto yy187;
- yy500:
- YYDEBUG(500, *YYCURSOR);
++yy504:
++ YYDEBUG(504, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(501, *YYCURSOR);
++ YYDEBUG(505, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1337 "Zend/zend_language_scanner.l"
+ {
+ return T_PUBLIC;
+}
- #line 5309 "Zend/zend_language_scanner.c"
- yy502:
- YYDEBUG(502, *YYCURSOR);
++#line 5331 "Zend/zend_language_scanner.c"
++yy506:
++ YYDEBUG(506, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'V') {
- if (yych == 'N') goto yy511;
++ if (yych == 'N') goto yy515;
+ if (yych <= 'U') goto yy187;
- goto yy512;
++ goto yy516;
+ } else {
+ if (yych <= 'n') {
+ if (yych <= 'm') goto yy187;
- goto yy511;
++ goto yy515;
+ } else {
- if (yych == 'v') goto yy512;
++ if (yych == 'v') goto yy516;
+ goto yy187;
+ }
+ }
- yy503:
- YYDEBUG(503, *YYCURSOR);
++yy507:
++ YYDEBUG(507, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy504;
++ if (yych == 'T') goto yy508;
+ if (yych != 't') goto yy187;
- yy504:
- YYDEBUG(504, *YYCURSOR);
++yy508:
++ YYDEBUG(508, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy505;
++ if (yych == 'E') goto yy509;
+ if (yych != 'e') goto yy187;
- yy505:
- YYDEBUG(505, *YYCURSOR);
++yy509:
++ YYDEBUG(509, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy506;
++ if (yych == 'C') goto yy510;
+ if (yych != 'c') goto yy187;
- yy506:
- YYDEBUG(506, *YYCURSOR);
++yy510:
++ YYDEBUG(510, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy507;
++ if (yych == 'T') goto yy511;
+ if (yych != 't') goto yy187;
- yy507:
- YYDEBUG(507, *YYCURSOR);
++yy511:
++ YYDEBUG(511, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy508;
++ if (yych == 'E') goto yy512;
+ if (yych != 'e') goto yy187;
- yy508:
- YYDEBUG(508, *YYCURSOR);
++yy512:
++ YYDEBUG(512, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy509;
++ if (yych == 'D') goto yy513;
+ if (yych != 'd') goto yy187;
- yy509:
- YYDEBUG(509, *YYCURSOR);
++yy513:
++ YYDEBUG(513, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(510, *YYCURSOR);
++ YYDEBUG(514, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1333 "Zend/zend_language_scanner.l"
+ {
+ return T_PROTECTED;
+}
- #line 5368 "Zend/zend_language_scanner.c"
- yy511:
- YYDEBUG(511, *YYCURSOR);
++#line 5390 "Zend/zend_language_scanner.c"
++yy515:
++ YYDEBUG(515, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy517;
- if (yych == 't') goto yy517;
++ if (yych == 'T') goto yy521;
++ if (yych == 't') goto yy521;
+ goto yy187;
- yy512:
- YYDEBUG(512, *YYCURSOR);
++yy516:
++ YYDEBUG(516, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy513;
++ if (yych == 'A') goto yy517;
+ if (yych != 'a') goto yy187;
- yy513:
- YYDEBUG(513, *YYCURSOR);
++yy517:
++ YYDEBUG(517, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy514;
++ if (yych == 'T') goto yy518;
+ if (yych != 't') goto yy187;
- yy514:
- YYDEBUG(514, *YYCURSOR);
++yy518:
++ YYDEBUG(518, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy515;
++ if (yych == 'E') goto yy519;
+ if (yych != 'e') goto yy187;
- yy515:
- YYDEBUG(515, *YYCURSOR);
++yy519:
++ YYDEBUG(519, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(516, *YYCURSOR);
++ YYDEBUG(520, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1329 "Zend/zend_language_scanner.l"
+ {
+ return T_PRIVATE;
+}
- #line 5402 "Zend/zend_language_scanner.c"
- yy517:
- YYDEBUG(517, *YYCURSOR);
++#line 5424 "Zend/zend_language_scanner.c"
++yy521:
++ YYDEBUG(521, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(518, *YYCURSOR);
++ YYDEBUG(522, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1166 "Zend/zend_language_scanner.l"
+ {
+ return T_PRINT;
+}
- #line 5415 "Zend/zend_language_scanner.c"
- yy519:
- YYDEBUG(519, *YYCURSOR);
++#line 5437 "Zend/zend_language_scanner.c"
++yy523:
++ YYDEBUG(523, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy524;
- if (yych == 'o') goto yy524;
++ if (yych == 'O') goto yy528;
++ if (yych == 'o') goto yy528;
+ goto yy187;
- yy520:
- YYDEBUG(520, *YYCURSOR);
++yy524:
++ YYDEBUG(524, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy521;
++ if (yych == 'T') goto yy525;
+ if (yych != 't') goto yy187;
- yy521:
- YYDEBUG(521, *YYCURSOR);
++yy525:
++ YYDEBUG(525, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy522;
++ if (yych == 'O') goto yy526;
+ if (yych != 'o') goto yy187;
- yy522:
- YYDEBUG(522, *YYCURSOR);
++yy526:
++ YYDEBUG(526, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(523, *YYCURSOR);
++ YYDEBUG(527, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1158 "Zend/zend_language_scanner.l"
+ {
+ return T_GOTO;
+}
- #line 5444 "Zend/zend_language_scanner.c"
- yy524:
- YYDEBUG(524, *YYCURSOR);
++#line 5466 "Zend/zend_language_scanner.c"
++yy528:
++ YYDEBUG(528, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'B') goto yy525;
++ if (yych == 'B') goto yy529;
+ if (yych != 'b') goto yy187;
- yy525:
- YYDEBUG(525, *YYCURSOR);
++yy529:
++ YYDEBUG(529, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy526;
++ if (yych == 'A') goto yy530;
+ if (yych != 'a') goto yy187;
- yy526:
- YYDEBUG(526, *YYCURSOR);
++yy530:
++ YYDEBUG(530, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy527;
++ if (yych == 'L') goto yy531;
+ if (yych != 'l') goto yy187;
- yy527:
- YYDEBUG(527, *YYCURSOR);
++yy531:
++ YYDEBUG(531, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(528, *YYCURSOR);
++ YYDEBUG(532, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1301 "Zend/zend_language_scanner.l"
+ {
+ return T_GLOBAL;
+}
- #line 5472 "Zend/zend_language_scanner.c"
- yy529:
- YYDEBUG(529, *YYCURSOR);
++#line 5494 "Zend/zend_language_scanner.c"
++yy533:
++ YYDEBUG(533, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '<') goto yy537;
++ if (yych == '<') goto yy541;
+ goto yy194;
- yy530:
- YYDEBUG(530, *YYCURSOR);
++yy534:
++ YYDEBUG(534, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy181;
- yy531:
- YYDEBUG(531, *YYCURSOR);
++yy535:
++ YYDEBUG(535, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy179;
- yy532:
- YYDEBUG(532, *YYCURSOR);
++yy536:
++ YYDEBUG(536, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy533;
++ if (yych == 'E') goto yy537;
+ if (yych != 'e') goto yy187;
- yy533:
- YYDEBUG(533, *YYCURSOR);
++yy537:
++ YYDEBUG(537, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy534;
++ if (yych == 'A') goto yy538;
+ if (yych != 'a') goto yy187;
- yy534:
- YYDEBUG(534, *YYCURSOR);
++yy538:
++ YYDEBUG(538, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'K') goto yy535;
++ if (yych == 'K') goto yy539;
+ if (yych != 'k') goto yy187;
- yy535:
- YYDEBUG(535, *YYCURSOR);
++yy539:
++ YYDEBUG(539, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(536, *YYCURSOR);
++ YYDEBUG(540, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1150 "Zend/zend_language_scanner.l"
+ {
+ return T_BREAK;
+}
- #line 5513 "Zend/zend_language_scanner.c"
- yy537:
- YYDEBUG(537, *YYCURSOR);
++#line 5535 "Zend/zend_language_scanner.c"
++yy541:
++ YYDEBUG(541, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == '<') goto yy266;
++ if (yych == '<') goto yy270;
+ goto yy194;
- yy538:
- YYDEBUG(538, *YYCURSOR);
++yy542:
++ YYDEBUG(542, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy545;
- if (yych == 'a') goto yy545;
++ if (yych == 'A') goto yy549;
++ if (yych == 'a') goto yy549;
+ goto yy187;
- yy539:
- YYDEBUG(539, *YYCURSOR);
++yy543:
++ YYDEBUG(543, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy540;
++ if (yych == 'I') goto yy544;
+ if (yych != 'i') goto yy187;
- yy540:
- YYDEBUG(540, *YYCURSOR);
++yy544:
++ YYDEBUG(544, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy541;
++ if (yych == 'T') goto yy545;
+ if (yych != 't') goto yy187;
- yy541:
- YYDEBUG(541, *YYCURSOR);
++yy545:
++ YYDEBUG(545, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy542;
++ if (yych == 'C') goto yy546;
+ if (yych != 'c') goto yy187;
- yy542:
- YYDEBUG(542, *YYCURSOR);
++yy546:
++ YYDEBUG(546, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy543;
++ if (yych == 'H') goto yy547;
+ if (yych != 'h') goto yy187;
- yy543:
- YYDEBUG(543, *YYCURSOR);
++yy547:
++ YYDEBUG(547, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(544, *YYCURSOR);
++ YYDEBUG(548, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1134 "Zend/zend_language_scanner.l"
+ {
+ return T_SWITCH;
+}
- #line 5557 "Zend/zend_language_scanner.c"
- yy545:
- YYDEBUG(545, *YYCURSOR);
++#line 5579 "Zend/zend_language_scanner.c"
++yy549:
++ YYDEBUG(549, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy546;
++ if (yych == 'T') goto yy550;
+ if (yych != 't') goto yy187;
- yy546:
- YYDEBUG(546, *YYCURSOR);
++yy550:
++ YYDEBUG(550, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy547;
++ if (yych == 'I') goto yy551;
+ if (yych != 'i') goto yy187;
- yy547:
- YYDEBUG(547, *YYCURSOR);
++yy551:
++ YYDEBUG(551, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy548;
++ if (yych == 'C') goto yy552;
+ if (yych != 'c') goto yy187;
- yy548:
- YYDEBUG(548, *YYCURSOR);
++yy552:
++ YYDEBUG(552, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(549, *YYCURSOR);
++ YYDEBUG(553, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1317 "Zend/zend_language_scanner.l"
+ {
+ return T_STATIC;
+}
- #line 5585 "Zend/zend_language_scanner.c"
- yy550:
- YYDEBUG(550, *YYCURSOR);
++#line 5607 "Zend/zend_language_scanner.c"
++yy554:
++ YYDEBUG(554, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy561;
- if (yych == 's') goto yy561;
++ if (yych == 'S') goto yy565;
++ if (yych == 's') goto yy565;
+ goto yy187;
- yy551:
- YYDEBUG(551, *YYCURSOR);
++yy555:
++ YYDEBUG(555, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy559;
- if (yych == 'd') goto yy559;
- goto yy187;
- yy552:
- YYDEBUG(552, *YYCURSOR);
++ if (yych == 'D') goto yy563;
++ if (yych == 'd') goto yy563;
++ goto yy187;
++yy556:
++ YYDEBUG(556, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy555;
- if (yych == 'r') goto yy555;
++ if (yych == 'R') goto yy559;
++ if (yych == 'r') goto yy559;
+ goto yy187;
- yy553:
- YYDEBUG(553, *YYCURSOR);
++yy557:
++ YYDEBUG(557, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(554, *YYCURSOR);
++ YYDEBUG(558, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1130 "Zend/zend_language_scanner.l"
+ {
+ return T_AS;
+}
- #line 5616 "Zend/zend_language_scanner.c"
- yy555:
- YYDEBUG(555, *YYCURSOR);
++#line 5638 "Zend/zend_language_scanner.c"
++yy559:
++ YYDEBUG(559, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy556;
++ if (yych == 'A') goto yy560;
+ if (yych != 'a') goto yy187;
- yy556:
- YYDEBUG(556, *YYCURSOR);
++yy560:
++ YYDEBUG(560, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'Y') goto yy557;
++ if (yych == 'Y') goto yy561;
+ if (yych != 'y') goto yy187;
- yy557:
- YYDEBUG(557, *YYCURSOR);
++yy561:
++ YYDEBUG(561, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(558, *YYCURSOR);
++ YYDEBUG(562, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1353 "Zend/zend_language_scanner.l"
+ {
+ return T_ARRAY;
+}
- #line 5639 "Zend/zend_language_scanner.c"
- yy559:
- YYDEBUG(559, *YYCURSOR);
++#line 5661 "Zend/zend_language_scanner.c"
++yy563:
++ YYDEBUG(563, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(560, *YYCURSOR);
++ YYDEBUG(564, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1449 "Zend/zend_language_scanner.l"
++#line 1457 "Zend/zend_language_scanner.l"
+ {
+ return T_LOGICAL_AND;
+}
- #line 5652 "Zend/zend_language_scanner.c"
- yy561:
- YYDEBUG(561, *YYCURSOR);
++#line 5674 "Zend/zend_language_scanner.c"
++yy565:
++ YYDEBUG(565, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy562;
++ if (yych == 'T') goto yy566;
+ if (yych != 't') goto yy187;
- yy562:
- YYDEBUG(562, *YYCURSOR);
++yy566:
++ YYDEBUG(566, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy563;
++ if (yych == 'R') goto yy567;
+ if (yych != 'r') goto yy187;
- yy563:
- YYDEBUG(563, *YYCURSOR);
++yy567:
++ YYDEBUG(567, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy564;
++ if (yych == 'A') goto yy568;
+ if (yych != 'a') goto yy187;
- yy564:
- YYDEBUG(564, *YYCURSOR);
++yy568:
++ YYDEBUG(568, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy565;
++ if (yych == 'C') goto yy569;
+ if (yych != 'c') goto yy187;
- yy565:
- YYDEBUG(565, *YYCURSOR);
++yy569:
++ YYDEBUG(569, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy566;
++ if (yych == 'T') goto yy570;
+ if (yych != 't') goto yy187;
- yy566:
- YYDEBUG(566, *YYCURSOR);
++yy570:
++ YYDEBUG(570, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(567, *YYCURSOR);
++ YYDEBUG(571, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1321 "Zend/zend_language_scanner.l"
+ {
+ return T_ABSTRACT;
+}
- #line 5690 "Zend/zend_language_scanner.c"
- yy568:
- YYDEBUG(568, *YYCURSOR);
++#line 5712 "Zend/zend_language_scanner.c"
++yy572:
++ YYDEBUG(572, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy569;
++ if (yych == 'I') goto yy573;
+ if (yych != 'i') goto yy187;
- yy569:
- YYDEBUG(569, *YYCURSOR);
++yy573:
++ YYDEBUG(573, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy570;
++ if (yych == 'L') goto yy574;
+ if (yych != 'l') goto yy187;
- yy570:
- YYDEBUG(570, *YYCURSOR);
++yy574:
++ YYDEBUG(574, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy571;
++ if (yych == 'E') goto yy575;
+ if (yych != 'e') goto yy187;
- yy571:
- YYDEBUG(571, *YYCURSOR);
++yy575:
++ YYDEBUG(575, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(572, *YYCURSOR);
++ YYDEBUG(576, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1090 "Zend/zend_language_scanner.l"
+ {
+ return T_WHILE;
+}
- #line 5718 "Zend/zend_language_scanner.c"
- yy573:
- YYDEBUG(573, *YYCURSOR);
++#line 5740 "Zend/zend_language_scanner.c"
++yy577:
++ YYDEBUG(577, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(574, *YYCURSOR);
++ YYDEBUG(578, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1074 "Zend/zend_language_scanner.l"
+ {
+ return T_IF;
+}
- #line 5731 "Zend/zend_language_scanner.c"
- yy575:
- YYDEBUG(575, *YYCURSOR);
++#line 5753 "Zend/zend_language_scanner.c"
++yy579:
++ YYDEBUG(579, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy617;
- if (yych == 'p') goto yy617;
++ if (yych == 'P') goto yy621;
++ if (yych == 'p') goto yy621;
+ goto yy187;
- yy576:
- YYDEBUG(576, *YYCURSOR);
++yy580:
++ YYDEBUG(580, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= 'C') {
+ if (yych <= 'B') goto yy187;
- goto yy584;
++ goto yy588;
+ } else {
+ if (yych <= 'R') goto yy187;
- if (yych <= 'S') goto yy582;
- goto yy583;
++ if (yych <= 'S') goto yy586;
++ goto yy587;
+ }
+ } else {
+ if (yych <= 'r') {
- if (yych == 'c') goto yy584;
++ if (yych == 'c') goto yy588;
+ goto yy187;
+ } else {
- if (yych <= 's') goto yy582;
- if (yych <= 't') goto yy583;
++ if (yych <= 's') goto yy586;
++ if (yych <= 't') goto yy587;
+ goto yy187;
+ }
+ }
- yy577:
- YYDEBUG(577, *YYCURSOR);
++yy581:
++ YYDEBUG(581, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy578;
++ if (yych == 'S') goto yy582;
+ if (yych != 's') goto yy187;
- yy578:
- YYDEBUG(578, *YYCURSOR);
++yy582:
++ YYDEBUG(582, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy579;
++ if (yych == 'E') goto yy583;
+ if (yych != 'e') goto yy187;
- yy579:
- YYDEBUG(579, *YYCURSOR);
++yy583:
++ YYDEBUG(583, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy580;
++ if (yych == 'T') goto yy584;
+ if (yych != 't') goto yy187;
- yy580:
- YYDEBUG(580, *YYCURSOR);
++yy584:
++ YYDEBUG(584, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(581, *YYCURSOR);
++ YYDEBUG(585, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1305 "Zend/zend_language_scanner.l"
+ {
+ return T_ISSET;
+}
- #line 5787 "Zend/zend_language_scanner.c"
- yy582:
- YYDEBUG(582, *YYCURSOR);
++#line 5809 "Zend/zend_language_scanner.c"
++yy586:
++ YYDEBUG(586, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy603;
- if (yych == 't') goto yy603;
++ if (yych == 'T') goto yy607;
++ if (yych == 't') goto yy607;
+ goto yy187;
- yy583:
- YYDEBUG(583, *YYCURSOR);
++yy587:
++ YYDEBUG(587, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy596;
- if (yych == 'e') goto yy596;
++ if (yych == 'E') goto yy600;
++ if (yych == 'e') goto yy600;
+ goto yy187;
- yy584:
- YYDEBUG(584, *YYCURSOR);
++yy588:
++ YYDEBUG(588, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy585;
++ if (yych == 'L') goto yy589;
+ if (yych != 'l') goto yy187;
- yy585:
- YYDEBUG(585, *YYCURSOR);
++yy589:
++ YYDEBUG(589, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'U') goto yy586;
++ if (yych == 'U') goto yy590;
+ if (yych != 'u') goto yy187;
- yy586:
- YYDEBUG(586, *YYCURSOR);
++yy590:
++ YYDEBUG(590, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy587;
++ if (yych == 'D') goto yy591;
+ if (yych != 'd') goto yy187;
- yy587:
- YYDEBUG(587, *YYCURSOR);
++yy591:
++ YYDEBUG(591, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy588;
++ if (yych == 'E') goto yy592;
+ if (yych != 'e') goto yy187;
- yy588:
- YYDEBUG(588, *YYCURSOR);
++yy592:
++ YYDEBUG(592, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '9') {
+ if (yych >= '0') goto yy186;
+ } else {
- if (yych <= '@') goto yy589;
++ if (yych <= '@') goto yy593;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= '`') {
- if (yych <= '_') goto yy590;
++ if (yych <= '_') goto yy594;
+ } else {
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy589:
- YYDEBUG(589, *YYCURSOR);
++yy593:
++ YYDEBUG(593, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1273 "Zend/zend_language_scanner.l"
+ {
+ return T_INCLUDE;
+}
- #line 5845 "Zend/zend_language_scanner.c"
- yy590:
- YYDEBUG(590, *YYCURSOR);
++#line 5867 "Zend/zend_language_scanner.c"
++yy594:
++ YYDEBUG(594, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy591;
++ if (yych == 'O') goto yy595;
+ if (yych != 'o') goto yy187;
- yy591:
- YYDEBUG(591, *YYCURSOR);
++yy595:
++ YYDEBUG(595, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy592;
++ if (yych == 'N') goto yy596;
+ if (yych != 'n') goto yy187;
- yy592:
- YYDEBUG(592, *YYCURSOR);
++yy596:
++ YYDEBUG(596, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy593;
++ if (yych == 'C') goto yy597;
+ if (yych != 'c') goto yy187;
- yy593:
- YYDEBUG(593, *YYCURSOR);
++yy597:
++ YYDEBUG(597, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy594;
++ if (yych == 'E') goto yy598;
+ if (yych != 'e') goto yy187;
- yy594:
- YYDEBUG(594, *YYCURSOR);
++yy598:
++ YYDEBUG(598, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(595, *YYCURSOR);
++ YYDEBUG(599, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1277 "Zend/zend_language_scanner.l"
+ {
+ return T_INCLUDE_ONCE;
+}
- #line 5878 "Zend/zend_language_scanner.c"
- yy596:
- YYDEBUG(596, *YYCURSOR);
++#line 5900 "Zend/zend_language_scanner.c"
++yy600:
++ YYDEBUG(600, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy597;
++ if (yych == 'R') goto yy601;
+ if (yych != 'r') goto yy187;
- yy597:
- YYDEBUG(597, *YYCURSOR);
++yy601:
++ YYDEBUG(601, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'F') goto yy598;
++ if (yych == 'F') goto yy602;
+ if (yych != 'f') goto yy187;
- yy598:
- YYDEBUG(598, *YYCURSOR);
++yy602:
++ YYDEBUG(602, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy599;
++ if (yych == 'A') goto yy603;
+ if (yych != 'a') goto yy187;
- yy599:
- YYDEBUG(599, *YYCURSOR);
++yy603:
++ YYDEBUG(603, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy600;
++ if (yych == 'C') goto yy604;
+ if (yych != 'c') goto yy187;
- yy600:
- YYDEBUG(600, *YYCURSOR);
++yy604:
++ YYDEBUG(604, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy601;
++ if (yych == 'E') goto yy605;
+ if (yych != 'e') goto yy187;
- yy601:
- YYDEBUG(601, *YYCURSOR);
++yy605:
++ YYDEBUG(605, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(602, *YYCURSOR);
++ YYDEBUG(606, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1174 "Zend/zend_language_scanner.l"
+ {
+ return T_INTERFACE;
+}
- #line 5916 "Zend/zend_language_scanner.c"
- yy603:
- YYDEBUG(603, *YYCURSOR);
++#line 5938 "Zend/zend_language_scanner.c"
++yy607:
++ YYDEBUG(607, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
- if (yych == 'A') goto yy604;
++ if (yych == 'A') goto yy608;
+ if (yych <= 'D') goto yy187;
- goto yy605;
++ goto yy609;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') goto yy187;
+ } else {
- if (yych == 'e') goto yy605;
++ if (yych == 'e') goto yy609;
+ goto yy187;
+ }
+ }
- yy604:
- YYDEBUG(604, *YYCURSOR);
++yy608:
++ YYDEBUG(608, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy611;
- if (yych == 'n') goto yy611;
++ if (yych == 'N') goto yy615;
++ if (yych == 'n') goto yy615;
+ goto yy187;
- yy605:
- YYDEBUG(605, *YYCURSOR);
++yy609:
++ YYDEBUG(609, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy606;
++ if (yych == 'A') goto yy610;
+ if (yych != 'a') goto yy187;
- yy606:
- YYDEBUG(606, *YYCURSOR);
++yy610:
++ YYDEBUG(610, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy607;
++ if (yych == 'D') goto yy611;
+ if (yych != 'd') goto yy187;
- yy607:
- YYDEBUG(607, *YYCURSOR);
++yy611:
++ YYDEBUG(611, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy608;
++ if (yych == 'O') goto yy612;
+ if (yych != 'o') goto yy187;
- yy608:
- YYDEBUG(608, *YYCURSOR);
++yy612:
++ YYDEBUG(612, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'F') goto yy609;
++ if (yych == 'F') goto yy613;
+ if (yych != 'f') goto yy187;
- yy609:
- YYDEBUG(609, *YYCURSOR);
++yy613:
++ YYDEBUG(613, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(610, *YYCURSOR);
++ YYDEBUG(614, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1297 "Zend/zend_language_scanner.l"
+ {
+ return T_INSTEADOF;
+}
- #line 5970 "Zend/zend_language_scanner.c"
- yy611:
- YYDEBUG(611, *YYCURSOR);
++#line 5992 "Zend/zend_language_scanner.c"
++yy615:
++ YYDEBUG(615, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy612;
++ if (yych == 'C') goto yy616;
+ if (yych != 'c') goto yy187;
- yy612:
- YYDEBUG(612, *YYCURSOR);
++yy616:
++ YYDEBUG(616, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy613;
++ if (yych == 'E') goto yy617;
+ if (yych != 'e') goto yy187;
- yy613:
- YYDEBUG(613, *YYCURSOR);
++yy617:
++ YYDEBUG(617, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy614;
++ if (yych == 'O') goto yy618;
+ if (yych != 'o') goto yy187;
- yy614:
- YYDEBUG(614, *YYCURSOR);
++yy618:
++ YYDEBUG(618, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'F') goto yy615;
++ if (yych == 'F') goto yy619;
+ if (yych != 'f') goto yy187;
- yy615:
- YYDEBUG(615, *YYCURSOR);
++yy619:
++ YYDEBUG(619, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(616, *YYCURSOR);
++ YYDEBUG(620, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1126 "Zend/zend_language_scanner.l"
+ {
+ return T_INSTANCEOF;
+}
- #line 6003 "Zend/zend_language_scanner.c"
- yy617:
- YYDEBUG(617, *YYCURSOR);
++#line 6025 "Zend/zend_language_scanner.c"
++yy621:
++ YYDEBUG(621, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy618;
++ if (yych == 'L') goto yy622;
+ if (yych != 'l') goto yy187;
- yy618:
- YYDEBUG(618, *YYCURSOR);
++yy622:
++ YYDEBUG(622, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy619;
++ if (yych == 'E') goto yy623;
+ if (yych != 'e') goto yy187;
- yy619:
- YYDEBUG(619, *YYCURSOR);
++yy623:
++ YYDEBUG(623, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'M') goto yy620;
++ if (yych == 'M') goto yy624;
+ if (yych != 'm') goto yy187;
- yy620:
- YYDEBUG(620, *YYCURSOR);
++yy624:
++ YYDEBUG(624, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy621;
++ if (yych == 'E') goto yy625;
+ if (yych != 'e') goto yy187;
- yy621:
- YYDEBUG(621, *YYCURSOR);
++yy625:
++ YYDEBUG(625, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy622;
++ if (yych == 'N') goto yy626;
+ if (yych != 'n') goto yy187;
- yy622:
- YYDEBUG(622, *YYCURSOR);
++yy626:
++ YYDEBUG(626, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy623;
++ if (yych == 'T') goto yy627;
+ if (yych != 't') goto yy187;
- yy623:
- YYDEBUG(623, *YYCURSOR);
++yy627:
++ YYDEBUG(627, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy624;
++ if (yych == 'S') goto yy628;
+ if (yych != 's') goto yy187;
- yy624:
- YYDEBUG(624, *YYCURSOR);
++yy628:
++ YYDEBUG(628, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(625, *YYCURSOR);
++ YYDEBUG(629, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1186 "Zend/zend_language_scanner.l"
+ {
+ return T_IMPLEMENTS;
- }
- #line 6051 "Zend/zend_language_scanner.c"
- yy626:
- YYDEBUG(626, *YYCURSOR);
++}
++#line 6073 "Zend/zend_language_scanner.c"
++yy630:
++ YYDEBUG(630, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy634;
- if (yych == 'r') goto yy634;
++ if (yych == 'R') goto yy638;
++ if (yych == 'r') goto yy638;
+ goto yy187;
- yy627:
- YYDEBUG(627, *YYCURSOR);
++yy631:
++ YYDEBUG(631, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
- if (yych == 'A') goto yy630;
++ if (yych == 'A') goto yy634;
+ if (yych <= 'X') goto yy187;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') goto yy187;
- goto yy630;
++ goto yy634;
+ } else {
+ if (yych != 'y') goto yy187;
+ }
+ }
- YYDEBUG(628, *YYCURSOR);
++ YYDEBUG(632, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(629, *YYCURSOR);
++ YYDEBUG(633, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1058 "Zend/zend_language_scanner.l"
+ {
+ return T_TRY;
+}
- #line 6083 "Zend/zend_language_scanner.c"
- yy630:
- YYDEBUG(630, *YYCURSOR);
++#line 6105 "Zend/zend_language_scanner.c"
++yy634:
++ YYDEBUG(634, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy631;
++ if (yych == 'I') goto yy635;
+ if (yych != 'i') goto yy187;
- yy631:
- YYDEBUG(631, *YYCURSOR);
++yy635:
++ YYDEBUG(635, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy632;
++ if (yych == 'T') goto yy636;
+ if (yych != 't') goto yy187;
- yy632:
- YYDEBUG(632, *YYCURSOR);
++yy636:
++ YYDEBUG(636, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(633, *YYCURSOR);
++ YYDEBUG(637, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1178 "Zend/zend_language_scanner.l"
+ {
+ return T_TRAIT;
+}
- #line 6106 "Zend/zend_language_scanner.c"
- yy634:
- YYDEBUG(634, *YYCURSOR);
++#line 6128 "Zend/zend_language_scanner.c"
++yy638:
++ YYDEBUG(638, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy635;
++ if (yych == 'O') goto yy639;
+ if (yych != 'o') goto yy187;
- yy635:
- YYDEBUG(635, *YYCURSOR);
++yy639:
++ YYDEBUG(639, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'W') goto yy636;
++ if (yych == 'W') goto yy640;
+ if (yych != 'w') goto yy187;
- yy636:
- YYDEBUG(636, *YYCURSOR);
++yy640:
++ YYDEBUG(640, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(637, *YYCURSOR);
++ YYDEBUG(641, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1070 "Zend/zend_language_scanner.l"
+ {
+ return T_THROW;
+}
- #line 6129 "Zend/zend_language_scanner.c"
- yy638:
- YYDEBUG(638, *YYCURSOR);
++#line 6151 "Zend/zend_language_scanner.c"
++yy642:
++ YYDEBUG(642, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy639;
++ if (yych == 'E') goto yy643;
+ if (yych != 'e') goto yy187;
- yy639:
- YYDEBUG(639, *YYCURSOR);
++yy643:
++ YYDEBUG(643, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy640;
++ if (yych == 'L') goto yy644;
+ if (yych != 'l') goto yy187;
- yy640:
- YYDEBUG(640, *YYCURSOR);
++yy644:
++ YYDEBUG(644, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy641;
++ if (yych == 'D') goto yy645;
+ if (yych != 'd') goto yy187;
- yy641:
- YYDEBUG(641, *YYCURSOR);
++yy645:
++ YYDEBUG(645, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(642, *YYCURSOR);
++ YYDEBUG(646, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1054 "Zend/zend_language_scanner.l"
+ {
+ return T_YIELD;
+}
- #line 6157 "Zend/zend_language_scanner.c"
- yy643:
- YYDEBUG(643, *YYCURSOR);
++#line 6179 "Zend/zend_language_scanner.c"
++yy647:
++ YYDEBUG(647, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
- if (yych == 'Q') goto yy645;
++ if (yych == 'Q') goto yy649;
+ if (yych <= 'S') goto yy187;
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'p') goto yy187;
- goto yy645;
++ goto yy649;
+ } else {
+ if (yych != 't') goto yy187;
+ }
+ }
- YYDEBUG(644, *YYCURSOR);
++ YYDEBUG(648, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'U') goto yy657;
- if (yych == 'u') goto yy657;
++ if (yych == 'U') goto yy661;
++ if (yych == 'u') goto yy661;
+ goto yy187;
- yy645:
- YYDEBUG(645, *YYCURSOR);
++yy649:
++ YYDEBUG(649, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'U') goto yy646;
++ if (yych == 'U') goto yy650;
+ if (yych != 'u') goto yy187;
- yy646:
- YYDEBUG(646, *YYCURSOR);
++yy650:
++ YYDEBUG(650, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy647;
++ if (yych == 'I') goto yy651;
+ if (yych != 'i') goto yy187;
- yy647:
- YYDEBUG(647, *YYCURSOR);
++yy651:
++ YYDEBUG(651, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy648;
++ if (yych == 'R') goto yy652;
+ if (yych != 'r') goto yy187;
- yy648:
- YYDEBUG(648, *YYCURSOR);
++yy652:
++ YYDEBUG(652, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy649;
++ if (yych == 'E') goto yy653;
+ if (yych != 'e') goto yy187;
- yy649:
- YYDEBUG(649, *YYCURSOR);
++yy653:
++ YYDEBUG(653, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '9') {
+ if (yych >= '0') goto yy186;
+ } else {
- if (yych <= '@') goto yy650;
++ if (yych <= '@') goto yy654;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= '`') {
- if (yych <= '_') goto yy651;
++ if (yych <= '_') goto yy655;
+ } else {
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy650:
- YYDEBUG(650, *YYCURSOR);
++yy654:
++ YYDEBUG(654, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1281 "Zend/zend_language_scanner.l"
+ {
+ return T_REQUIRE;
+}
- #line 6222 "Zend/zend_language_scanner.c"
- yy651:
- YYDEBUG(651, *YYCURSOR);
++#line 6244 "Zend/zend_language_scanner.c"
++yy655:
++ YYDEBUG(655, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy652;
++ if (yych == 'O') goto yy656;
+ if (yych != 'o') goto yy187;
- yy652:
- YYDEBUG(652, *YYCURSOR);
++yy656:
++ YYDEBUG(656, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy653;
++ if (yych == 'N') goto yy657;
+ if (yych != 'n') goto yy187;
- yy653:
- YYDEBUG(653, *YYCURSOR);
++yy657:
++ YYDEBUG(657, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy654;
++ if (yych == 'C') goto yy658;
+ if (yych != 'c') goto yy187;
- yy654:
- YYDEBUG(654, *YYCURSOR);
++yy658:
++ YYDEBUG(658, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy655;
++ if (yych == 'E') goto yy659;
+ if (yych != 'e') goto yy187;
- yy655:
- YYDEBUG(655, *YYCURSOR);
++yy659:
++ YYDEBUG(659, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(656, *YYCURSOR);
++ YYDEBUG(660, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1285 "Zend/zend_language_scanner.l"
+ {
+ return T_REQUIRE_ONCE;
+}
- #line 6255 "Zend/zend_language_scanner.c"
- yy657:
- YYDEBUG(657, *YYCURSOR);
++#line 6277 "Zend/zend_language_scanner.c"
++yy661:
++ YYDEBUG(661, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy658;
++ if (yych == 'R') goto yy662;
+ if (yych != 'r') goto yy187;
- yy658:
- YYDEBUG(658, *YYCURSOR);
++yy662:
++ YYDEBUG(662, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy659;
++ if (yych == 'N') goto yy663;
+ if (yych != 'n') goto yy187;
- yy659:
- YYDEBUG(659, *YYCURSOR);
++yy663:
++ YYDEBUG(663, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(660, *YYCURSOR);
++ YYDEBUG(664, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1050 "Zend/zend_language_scanner.l"
+ {
+ return T_RETURN;
+}
- #line 6278 "Zend/zend_language_scanner.c"
- yy661:
- YYDEBUG(661, *YYCURSOR);
++#line 6300 "Zend/zend_language_scanner.c"
++yy665:
++ YYDEBUG(665, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= 'L') {
+ if (yych <= 'K') goto yy187;
- goto yy684;
++ goto yy688;
+ } else {
+ if (yych <= 'R') goto yy187;
- if (yych <= 'S') goto yy683;
- goto yy682;
++ if (yych <= 'S') goto yy687;
++ goto yy686;
+ }
+ } else {
+ if (yych <= 'r') {
- if (yych == 'l') goto yy684;
++ if (yych == 'l') goto yy688;
+ goto yy187;
+ } else {
- if (yych <= 's') goto yy683;
- if (yych <= 't') goto yy682;
++ if (yych <= 's') goto yy687;
++ if (yych <= 't') goto yy686;
+ goto yy187;
+ }
+ }
- yy662:
- YYDEBUG(662, *YYCURSOR);
++yy666:
++ YYDEBUG(666, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
- if (yych == 'A') goto yy674;
++ if (yych == 'A') goto yy678;
+ if (yych <= 'N') goto yy187;
- goto yy675;
++ goto yy679;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') goto yy187;
- goto yy674;
++ goto yy678;
+ } else {
- if (yych == 'o') goto yy675;
++ if (yych == 'o') goto yy679;
+ goto yy187;
+ }
+ }
- yy663:
- YYDEBUG(663, *YYCURSOR);
++yy667:
++ YYDEBUG(667, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy664;
++ if (yych == 'N') goto yy668;
+ if (yych != 'n') goto yy187;
- yy664:
- YYDEBUG(664, *YYCURSOR);
++yy668:
++ YYDEBUG(668, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= 'R') goto yy187;
- if (yych >= 'T') goto yy666;
++ if (yych >= 'T') goto yy670;
+ } else {
+ if (yych <= 'r') goto yy187;
- if (yych <= 's') goto yy665;
- if (yych <= 't') goto yy666;
++ if (yych <= 's') goto yy669;
++ if (yych <= 't') goto yy670;
+ goto yy187;
+ }
- yy665:
- YYDEBUG(665, *YYCURSOR);
++yy669:
++ YYDEBUG(669, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy672;
- if (yych == 't') goto yy672;
++ if (yych == 'T') goto yy676;
++ if (yych == 't') goto yy676;
+ goto yy187;
- yy666:
- YYDEBUG(666, *YYCURSOR);
++yy670:
++ YYDEBUG(670, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy667;
++ if (yych == 'I') goto yy671;
+ if (yych != 'i') goto yy187;
- yy667:
- YYDEBUG(667, *YYCURSOR);
++yy671:
++ YYDEBUG(671, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy668;
++ if (yych == 'N') goto yy672;
+ if (yych != 'n') goto yy187;
- yy668:
- YYDEBUG(668, *YYCURSOR);
++yy672:
++ YYDEBUG(672, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'U') goto yy669;
++ if (yych == 'U') goto yy673;
+ if (yych != 'u') goto yy187;
- yy669:
- YYDEBUG(669, *YYCURSOR);
++yy673:
++ YYDEBUG(673, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy670;
++ if (yych == 'E') goto yy674;
+ if (yych != 'e') goto yy187;
- yy670:
- YYDEBUG(670, *YYCURSOR);
++yy674:
++ YYDEBUG(674, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(671, *YYCURSOR);
++ YYDEBUG(675, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1154 "Zend/zend_language_scanner.l"
+ {
+ return T_CONTINUE;
+}
- #line 6372 "Zend/zend_language_scanner.c"
- yy672:
- YYDEBUG(672, *YYCURSOR);
++#line 6394 "Zend/zend_language_scanner.c"
++yy676:
++ YYDEBUG(676, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(673, *YYCURSOR);
++ YYDEBUG(677, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1046 "Zend/zend_language_scanner.l"
+ {
+ return T_CONST;
+}
- #line 6385 "Zend/zend_language_scanner.c"
- yy674:
- YYDEBUG(674, *YYCURSOR);
++#line 6407 "Zend/zend_language_scanner.c"
++yy678:
++ YYDEBUG(678, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy679;
- if (yych == 's') goto yy679;
++ if (yych == 'S') goto yy683;
++ if (yych == 's') goto yy683;
+ goto yy187;
- yy675:
- YYDEBUG(675, *YYCURSOR);
++yy679:
++ YYDEBUG(679, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy676;
++ if (yych == 'N') goto yy680;
+ if (yych != 'n') goto yy187;
- yy676:
- YYDEBUG(676, *YYCURSOR);
++yy680:
++ YYDEBUG(680, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy677;
++ if (yych == 'E') goto yy681;
+ if (yych != 'e') goto yy187;
- yy677:
- YYDEBUG(677, *YYCURSOR);
++yy681:
++ YYDEBUG(681, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(678, *YYCURSOR);
++ YYDEBUG(682, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1233 "Zend/zend_language_scanner.l"
+ {
+ return T_CLONE;
+}
- #line 6414 "Zend/zend_language_scanner.c"
- yy679:
- YYDEBUG(679, *YYCURSOR);
++#line 6436 "Zend/zend_language_scanner.c"
++yy683:
++ YYDEBUG(683, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy680;
++ if (yych == 'S') goto yy684;
+ if (yych != 's') goto yy187;
- yy680:
- YYDEBUG(680, *YYCURSOR);
++yy684:
++ YYDEBUG(684, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(681, *YYCURSOR);
++ YYDEBUG(685, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1170 "Zend/zend_language_scanner.l"
+ {
+ return T_CLASS;
+}
- #line 6432 "Zend/zend_language_scanner.c"
- yy682:
- YYDEBUG(682, *YYCURSOR);
++#line 6454 "Zend/zend_language_scanner.c"
++yy686:
++ YYDEBUG(686, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy693;
- if (yych == 'c') goto yy693;
++ if (yych == 'C') goto yy697;
++ if (yych == 'c') goto yy697;
+ goto yy187;
- yy683:
- YYDEBUG(683, *YYCURSOR);
++yy687:
++ YYDEBUG(687, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy691;
- if (yych == 'e') goto yy691;
++ if (yych == 'E') goto yy695;
++ if (yych == 'e') goto yy695;
+ goto yy187;
- yy684:
- YYDEBUG(684, *YYCURSOR);
++yy688:
++ YYDEBUG(688, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy685;
++ if (yych == 'L') goto yy689;
+ if (yych != 'l') goto yy187;
- yy685:
- YYDEBUG(685, *YYCURSOR);
++yy689:
++ YYDEBUG(689, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy686;
++ if (yych == 'A') goto yy690;
+ if (yych != 'a') goto yy187;
- yy686:
- YYDEBUG(686, *YYCURSOR);
++yy690:
++ YYDEBUG(690, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'B') goto yy687;
++ if (yych == 'B') goto yy691;
+ if (yych != 'b') goto yy187;
- yy687:
- YYDEBUG(687, *YYCURSOR);
++yy691:
++ YYDEBUG(691, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy688;
++ if (yych == 'L') goto yy692;
+ if (yych != 'l') goto yy187;
- yy688:
- YYDEBUG(688, *YYCURSOR);
++yy692:
++ YYDEBUG(692, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy689;
++ if (yych == 'E') goto yy693;
+ if (yych != 'e') goto yy187;
- yy689:
- YYDEBUG(689, *YYCURSOR);
++yy693:
++ YYDEBUG(693, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(690, *YYCURSOR);
++ YYDEBUG(694, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1357 "Zend/zend_language_scanner.l"
+ {
+ return T_CALLABLE;
+}
- #line 6482 "Zend/zend_language_scanner.c"
- yy691:
- YYDEBUG(691, *YYCURSOR);
++#line 6504 "Zend/zend_language_scanner.c"
++yy695:
++ YYDEBUG(695, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(692, *YYCURSOR);
++ YYDEBUG(696, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1142 "Zend/zend_language_scanner.l"
+ {
+ return T_CASE;
+}
- #line 6495 "Zend/zend_language_scanner.c"
- yy693:
- YYDEBUG(693, *YYCURSOR);
++#line 6517 "Zend/zend_language_scanner.c"
++yy697:
++ YYDEBUG(697, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy694;
++ if (yych == 'H') goto yy698;
+ if (yych != 'h') goto yy187;
- yy694:
- YYDEBUG(694, *YYCURSOR);
++yy698:
++ YYDEBUG(698, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(695, *YYCURSOR);
++ YYDEBUG(699, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1062 "Zend/zend_language_scanner.l"
+ {
+ return T_CATCH;
+}
- #line 6513 "Zend/zend_language_scanner.c"
- yy696:
- YYDEBUG(696, *YYCURSOR);
++#line 6535 "Zend/zend_language_scanner.c"
++yy700:
++ YYDEBUG(700, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy713;
- if (yych == 'n') goto yy713;
++ if (yych == 'N') goto yy717;
++ if (yych == 'n') goto yy717;
+ goto yy187;
- yy697:
- YYDEBUG(697, *YYCURSOR);
++yy701:
++ YYDEBUG(701, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy706;
- if (yych == 'r') goto yy706;
++ if (yych == 'R') goto yy710;
++ if (yych == 'r') goto yy710;
+ goto yy187;
- yy698:
- YYDEBUG(698, *YYCURSOR);
++yy702:
++ YYDEBUG(702, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy699;
++ if (yych == 'N') goto yy703;
+ if (yych != 'n') goto yy187;
- yy699:
- YYDEBUG(699, *YYCURSOR);
++yy703:
++ YYDEBUG(703, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy700;
++ if (yych == 'C') goto yy704;
+ if (yych != 'c') goto yy187;
- yy700:
- YYDEBUG(700, *YYCURSOR);
++yy704:
++ YYDEBUG(704, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy701;
++ if (yych == 'T') goto yy705;
+ if (yych != 't') goto yy187;
- yy701:
- YYDEBUG(701, *YYCURSOR);
++yy705:
++ YYDEBUG(705, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy702;
++ if (yych == 'I') goto yy706;
+ if (yych != 'i') goto yy187;
- yy702:
- YYDEBUG(702, *YYCURSOR);
++yy706:
++ YYDEBUG(706, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy703;
++ if (yych == 'O') goto yy707;
+ if (yych != 'o') goto yy187;
- yy703:
- YYDEBUG(703, *YYCURSOR);
++yy707:
++ YYDEBUG(707, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy704;
++ if (yych == 'N') goto yy708;
+ if (yych != 'n') goto yy187;
- yy704:
- YYDEBUG(704, *YYCURSOR);
++yy708:
++ YYDEBUG(708, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(705, *YYCURSOR);
++ YYDEBUG(709, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1042 "Zend/zend_language_scanner.l"
+ {
+ return T_FUNCTION;
+}
- #line 6568 "Zend/zend_language_scanner.c"
- yy706:
- YYDEBUG(706, *YYCURSOR);
++#line 6590 "Zend/zend_language_scanner.c"
++yy710:
++ YYDEBUG(710, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '@') {
- if (yych <= '/') goto yy707;
++ if (yych <= '/') goto yy711;
+ if (yych <= '9') goto yy186;
+ } else {
- if (yych == 'E') goto yy708;
++ if (yych == 'E') goto yy712;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych != '`') goto yy186;
+ } else {
- if (yych <= 'e') goto yy708;
++ if (yych <= 'e') goto yy712;
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy707:
- YYDEBUG(707, *YYCURSOR);
++yy711:
++ YYDEBUG(711, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1102 "Zend/zend_language_scanner.l"
+ {
+ return T_FOR;
+}
- #line 6596 "Zend/zend_language_scanner.c"
- yy708:
- YYDEBUG(708, *YYCURSOR);
++#line 6618 "Zend/zend_language_scanner.c"
++yy712:
++ YYDEBUG(712, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy709;
++ if (yych == 'A') goto yy713;
+ if (yych != 'a') goto yy187;
- yy709:
- YYDEBUG(709, *YYCURSOR);
++yy713:
++ YYDEBUG(713, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy710;
++ if (yych == 'C') goto yy714;
+ if (yych != 'c') goto yy187;
- yy710:
- YYDEBUG(710, *YYCURSOR);
++yy714:
++ YYDEBUG(714, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy711;
++ if (yych == 'H') goto yy715;
+ if (yych != 'h') goto yy187;
- yy711:
- YYDEBUG(711, *YYCURSOR);
++yy715:
++ YYDEBUG(715, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(712, *YYCURSOR);
++ YYDEBUG(716, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1110 "Zend/zend_language_scanner.l"
+ {
+ return T_FOREACH;
+}
- #line 6624 "Zend/zend_language_scanner.c"
- yy713:
- YYDEBUG(713, *YYCURSOR);
++#line 6646 "Zend/zend_language_scanner.c"
++yy717:
++ YYDEBUG(717, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy714;
++ if (yych == 'A') goto yy718;
+ if (yych != 'a') goto yy187;
- yy714:
- YYDEBUG(714, *YYCURSOR);
++yy718:
++ YYDEBUG(718, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy715;
++ if (yych == 'L') goto yy719;
+ if (yych != 'l') goto yy187;
- yy715:
- YYDEBUG(715, *YYCURSOR);
++yy719:
++ YYDEBUG(719, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '@') {
- if (yych <= '/') goto yy716;
++ if (yych <= '/') goto yy720;
+ if (yych <= '9') goto yy186;
+ } else {
- if (yych == 'L') goto yy717;
++ if (yych == 'L') goto yy721;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= 'k') {
+ if (yych != '`') goto yy186;
+ } else {
- if (yych <= 'l') goto yy717;
++ if (yych <= 'l') goto yy721;
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy716:
- YYDEBUG(716, *YYCURSOR);
++yy720:
++ YYDEBUG(720, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1325 "Zend/zend_language_scanner.l"
+ {
+ return T_FINAL;
+}
- #line 6662 "Zend/zend_language_scanner.c"
- yy717:
- YYDEBUG(717, *YYCURSOR);
++#line 6684 "Zend/zend_language_scanner.c"
++yy721:
++ YYDEBUG(721, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'Y') goto yy718;
++ if (yych == 'Y') goto yy722;
+ if (yych != 'y') goto yy187;
- yy718:
- YYDEBUG(718, *YYCURSOR);
++yy722:
++ YYDEBUG(722, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(719, *YYCURSOR);
++ YYDEBUG(723, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1066 "Zend/zend_language_scanner.l"
+ {
+ return T_FINALLY;
+}
- #line 6680 "Zend/zend_language_scanner.c"
- yy720:
- YYDEBUG(720, *YYCURSOR);
++#line 6702 "Zend/zend_language_scanner.c"
++yy724:
++ YYDEBUG(724, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'F') {
- if (yych == 'C') goto yy726;
++ if (yych == 'C') goto yy730;
+ if (yych <= 'E') goto yy187;
- goto yy727;
++ goto yy731;
+ } else {
+ if (yych <= 'c') {
+ if (yych <= 'b') goto yy187;
- goto yy726;
++ goto yy730;
+ } else {
- if (yych == 'f') goto yy727;
++ if (yych == 'f') goto yy731;
+ goto yy187;
+ }
+ }
- yy721:
- YYDEBUG(721, *YYCURSOR);
++yy725:
++ YYDEBUG(725, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy724;
- if (yych == 'e') goto yy724;
++ if (yych == 'E') goto yy728;
++ if (yych == 'e') goto yy728;
+ goto yy187;
- yy722:
- YYDEBUG(722, *YYCURSOR);
++yy726:
++ YYDEBUG(726, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(723, *YYCURSOR);
++ YYDEBUG(727, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1098 "Zend/zend_language_scanner.l"
+ {
+ return T_DO;
+}
- #line 6715 "Zend/zend_language_scanner.c"
- yy724:
- YYDEBUG(724, *YYCURSOR);
++#line 6737 "Zend/zend_language_scanner.c"
++yy728:
++ YYDEBUG(728, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(725, *YYCURSOR);
++ YYDEBUG(729, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1038 "Zend/zend_language_scanner.l"
+ {
+ return T_EXIT;
+}
- #line 6728 "Zend/zend_language_scanner.c"
- yy726:
- YYDEBUG(726, *YYCURSOR);
++#line 6750 "Zend/zend_language_scanner.c"
++yy730:
++ YYDEBUG(730, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy733;
- if (yych == 'l') goto yy733;
++ if (yych == 'L') goto yy737;
++ if (yych == 'l') goto yy737;
+ goto yy187;
- yy727:
- YYDEBUG(727, *YYCURSOR);
++yy731:
++ YYDEBUG(731, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy728;
++ if (yych == 'A') goto yy732;
+ if (yych != 'a') goto yy187;
- yy728:
- YYDEBUG(728, *YYCURSOR);
++yy732:
++ YYDEBUG(732, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'U') goto yy729;
++ if (yych == 'U') goto yy733;
+ if (yych != 'u') goto yy187;
- yy729:
- YYDEBUG(729, *YYCURSOR);
++yy733:
++ YYDEBUG(733, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy730;
++ if (yych == 'L') goto yy734;
+ if (yych != 'l') goto yy187;
- yy730:
- YYDEBUG(730, *YYCURSOR);
++yy734:
++ YYDEBUG(734, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy731;
++ if (yych == 'T') goto yy735;
+ if (yych != 't') goto yy187;
- yy731:
- YYDEBUG(731, *YYCURSOR);
++yy735:
++ YYDEBUG(735, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(732, *YYCURSOR);
++ YYDEBUG(736, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1146 "Zend/zend_language_scanner.l"
+ {
+ return T_DEFAULT;
+}
- #line 6767 "Zend/zend_language_scanner.c"
- yy733:
- YYDEBUG(733, *YYCURSOR);
++#line 6789 "Zend/zend_language_scanner.c"
++yy737:
++ YYDEBUG(737, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy734;
++ if (yych == 'A') goto yy738;
+ if (yych != 'a') goto yy187;
- yy734:
- YYDEBUG(734, *YYCURSOR);
++yy738:
++ YYDEBUG(738, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy735;
++ if (yych == 'R') goto yy739;
+ if (yych != 'r') goto yy187;
- yy735:
- YYDEBUG(735, *YYCURSOR);
++yy739:
++ YYDEBUG(739, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy736;
++ if (yych == 'E') goto yy740;
+ if (yych != 'e') goto yy187;
- yy736:
- YYDEBUG(736, *YYCURSOR);
++yy740:
++ YYDEBUG(740, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(737, *YYCURSOR);
++ YYDEBUG(741, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1118 "Zend/zend_language_scanner.l"
+ {
+ return T_DECLARE;
+}
- #line 6795 "Zend/zend_language_scanner.c"
- yy738:
- YYDEBUG(738, *YYCURSOR);
++#line 6817 "Zend/zend_language_scanner.c"
++yy742:
++ YYDEBUG(742, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy800;
- if (yych == 'h') goto yy800;
++ if (yych == 'H') goto yy804;
++ if (yych == 'h') goto yy804;
+ goto yy187;
- yy739:
- YYDEBUG(739, *YYCURSOR);
++yy743:
++ YYDEBUG(743, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy794;
- if (yych == 's') goto yy794;
++ if (yych == 'S') goto yy798;
++ if (yych == 's') goto yy798;
+ goto yy187;
- yy740:
- YYDEBUG(740, *YYCURSOR);
++yy744:
++ YYDEBUG(744, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'P') goto yy790;
- if (yych == 'p') goto yy790;
++ if (yych == 'P') goto yy794;
++ if (yych == 'p') goto yy794;
+ goto yy187;
- yy741:
- YYDEBUG(741, *YYCURSOR);
++yy745:
++ YYDEBUG(745, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy756;
- if (yych == 'd') goto yy756;
++ if (yych == 'D') goto yy760;
++ if (yych == 'd') goto yy760;
+ goto yy187;
- yy742:
- YYDEBUG(742, *YYCURSOR);
++yy746:
++ YYDEBUG(746, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy753;
- if (yych == 'a') goto yy753;
++ if (yych == 'A') goto yy757;
++ if (yych == 'a') goto yy757;
+ goto yy187;
- yy743:
- YYDEBUG(743, *YYCURSOR);
++yy747:
++ YYDEBUG(747, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
- if (yych == 'I') goto yy744;
++ if (yych == 'I') goto yy748;
+ if (yych <= 'S') goto yy187;
- goto yy745;
++ goto yy749;
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'h') goto yy187;
+ } else {
- if (yych == 't') goto yy745;
++ if (yych == 't') goto yy749;
+ goto yy187;
+ }
+ }
- yy744:
- YYDEBUG(744, *YYCURSOR);
++yy748:
++ YYDEBUG(748, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy751;
- if (yych == 't') goto yy751;
++ if (yych == 'T') goto yy755;
++ if (yych == 't') goto yy755;
+ goto yy187;
- yy745:
- YYDEBUG(745, *YYCURSOR);
++yy749:
++ YYDEBUG(749, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy746;
++ if (yych == 'E') goto yy750;
+ if (yych != 'e') goto yy187;
- yy746:
- YYDEBUG(746, *YYCURSOR);
++yy750:
++ YYDEBUG(750, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'N') goto yy747;
++ if (yych == 'N') goto yy751;
+ if (yych != 'n') goto yy187;
- yy747:
- YYDEBUG(747, *YYCURSOR);
++yy751:
++ YYDEBUG(751, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'D') goto yy748;
++ if (yych == 'D') goto yy752;
+ if (yych != 'd') goto yy187;
- yy748:
- YYDEBUG(748, *YYCURSOR);
++yy752:
++ YYDEBUG(752, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'S') goto yy749;
++ if (yych == 'S') goto yy753;
+ if (yych != 's') goto yy187;
- yy749:
- YYDEBUG(749, *YYCURSOR);
++yy753:
++ YYDEBUG(753, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(750, *YYCURSOR);
++ YYDEBUG(754, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1182 "Zend/zend_language_scanner.l"
+ {
+ return T_EXTENDS;
+}
- #line 6879 "Zend/zend_language_scanner.c"
- yy751:
- YYDEBUG(751, *YYCURSOR);
++#line 6901 "Zend/zend_language_scanner.c"
++yy755:
++ YYDEBUG(755, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(752, *YYCURSOR);
++ YYDEBUG(756, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1034 "Zend/zend_language_scanner.l"
+ {
+ return T_EXIT;
+}
- #line 6892 "Zend/zend_language_scanner.c"
- yy753:
- YYDEBUG(753, *YYCURSOR);
++#line 6914 "Zend/zend_language_scanner.c"
++yy757:
++ YYDEBUG(757, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy754;
++ if (yych == 'L') goto yy758;
+ if (yych != 'l') goto yy187;
- yy754:
- YYDEBUG(754, *YYCURSOR);
++yy758:
++ YYDEBUG(758, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(755, *YYCURSOR);
++ YYDEBUG(759, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1269 "Zend/zend_language_scanner.l"
+ {
+ return T_EVAL;
+}
- #line 6910 "Zend/zend_language_scanner.c"
- yy756:
- YYDEBUG(756, *YYCURSOR);
++#line 6932 "Zend/zend_language_scanner.c"
++yy760:
++ YYDEBUG(760, *YYCURSOR);
+ yych = *++YYCURSOR;
+ YYDEBUG(-1, yych);
+ switch (yych) {
+ case 'D':
- case 'd': goto yy757;
++ case 'd': goto yy761;
+ case 'F':
- case 'f': goto yy758;
++ case 'f': goto yy762;
+ case 'I':
- case 'i': goto yy759;
++ case 'i': goto yy763;
+ case 'S':
- case 's': goto yy760;
++ case 's': goto yy764;
+ case 'W':
- case 'w': goto yy761;
++ case 'w': goto yy765;
+ default: goto yy187;
+ }
- yy757:
- YYDEBUG(757, *YYCURSOR);
++yy761:
++ YYDEBUG(761, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy783;
- if (yych == 'e') goto yy783;
++ if (yych == 'E') goto yy787;
++ if (yych == 'e') goto yy787;
+ goto yy187;
- yy758:
- YYDEBUG(758, *YYCURSOR);
++yy762:
++ YYDEBUG(762, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy775;
- if (yych == 'o') goto yy775;
++ if (yych == 'O') goto yy779;
++ if (yych == 'o') goto yy779;
+ goto yy187;
- yy759:
- YYDEBUG(759, *YYCURSOR);
++yy763:
++ YYDEBUG(763, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'F') goto yy773;
- if (yych == 'f') goto yy773;
++ if (yych == 'F') goto yy777;
++ if (yych == 'f') goto yy777;
+ goto yy187;
- yy760:
- YYDEBUG(760, *YYCURSOR);
++yy764:
++ YYDEBUG(764, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'W') goto yy767;
- if (yych == 'w') goto yy767;
++ if (yych == 'W') goto yy771;
++ if (yych == 'w') goto yy771;
+ goto yy187;
- yy761:
- YYDEBUG(761, *YYCURSOR);
++yy765:
++ YYDEBUG(765, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy762;
++ if (yych == 'H') goto yy766;
+ if (yych != 'h') goto yy187;
- yy762:
- YYDEBUG(762, *YYCURSOR);
++yy766:
++ YYDEBUG(766, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy763;
++ if (yych == 'I') goto yy767;
+ if (yych != 'i') goto yy187;
- yy763:
- YYDEBUG(763, *YYCURSOR);
++yy767:
++ YYDEBUG(767, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy764;
++ if (yych == 'L') goto yy768;
+ if (yych != 'l') goto yy187;
- yy764:
- YYDEBUG(764, *YYCURSOR);
++yy768:
++ YYDEBUG(768, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy765;
++ if (yych == 'E') goto yy769;
+ if (yych != 'e') goto yy187;
- yy765:
- YYDEBUG(765, *YYCURSOR);
++yy769:
++ YYDEBUG(769, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(766, *YYCURSOR);
++ YYDEBUG(770, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1094 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDWHILE;
+}
- #line 6984 "Zend/zend_language_scanner.c"
- yy767:
- YYDEBUG(767, *YYCURSOR);
++#line 7006 "Zend/zend_language_scanner.c"
++yy771:
++ YYDEBUG(771, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'I') goto yy768;
++ if (yych == 'I') goto yy772;
+ if (yych != 'i') goto yy187;
- yy768:
- YYDEBUG(768, *YYCURSOR);
++yy772:
++ YYDEBUG(772, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy769;
++ if (yych == 'T') goto yy773;
+ if (yych != 't') goto yy187;
- yy769:
- YYDEBUG(769, *YYCURSOR);
++yy773:
++ YYDEBUG(773, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy770;
++ if (yych == 'C') goto yy774;
+ if (yych != 'c') goto yy187;
- yy770:
- YYDEBUG(770, *YYCURSOR);
++yy774:
++ YYDEBUG(774, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy771;
++ if (yych == 'H') goto yy775;
+ if (yych != 'h') goto yy187;
- yy771:
- YYDEBUG(771, *YYCURSOR);
++yy775:
++ YYDEBUG(775, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(772, *YYCURSOR);
++ YYDEBUG(776, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1138 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDSWITCH;
+}
- #line 7017 "Zend/zend_language_scanner.c"
- yy773:
- YYDEBUG(773, *YYCURSOR);
++#line 7039 "Zend/zend_language_scanner.c"
++yy777:
++ YYDEBUG(777, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(774, *YYCURSOR);
++ YYDEBUG(778, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1082 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDIF;
+}
- #line 7030 "Zend/zend_language_scanner.c"
- yy775:
- YYDEBUG(775, *YYCURSOR);
++#line 7052 "Zend/zend_language_scanner.c"
++yy779:
++ YYDEBUG(779, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy776;
++ if (yych == 'R') goto yy780;
+ if (yych != 'r') goto yy187;
- yy776:
- YYDEBUG(776, *YYCURSOR);
++yy780:
++ YYDEBUG(780, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '@') {
- if (yych <= '/') goto yy777;
++ if (yych <= '/') goto yy781;
+ if (yych <= '9') goto yy186;
+ } else {
- if (yych == 'E') goto yy778;
++ if (yych == 'E') goto yy782;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych != '`') goto yy186;
+ } else {
- if (yych <= 'e') goto yy778;
++ if (yych <= 'e') goto yy782;
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy777:
- YYDEBUG(777, *YYCURSOR);
++yy781:
++ YYDEBUG(781, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1106 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDFOR;
+}
- #line 7063 "Zend/zend_language_scanner.c"
- yy778:
- YYDEBUG(778, *YYCURSOR);
++#line 7085 "Zend/zend_language_scanner.c"
++yy782:
++ YYDEBUG(782, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy779;
++ if (yych == 'A') goto yy783;
+ if (yych != 'a') goto yy187;
- yy779:
- YYDEBUG(779, *YYCURSOR);
++yy783:
++ YYDEBUG(783, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy780;
++ if (yych == 'C') goto yy784;
+ if (yych != 'c') goto yy187;
- yy780:
- YYDEBUG(780, *YYCURSOR);
++yy784:
++ YYDEBUG(784, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'H') goto yy781;
++ if (yych == 'H') goto yy785;
+ if (yych != 'h') goto yy187;
- yy781:
- YYDEBUG(781, *YYCURSOR);
++yy785:
++ YYDEBUG(785, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(782, *YYCURSOR);
++ YYDEBUG(786, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1114 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDFOREACH;
+}
- #line 7091 "Zend/zend_language_scanner.c"
- yy783:
- YYDEBUG(783, *YYCURSOR);
++#line 7113 "Zend/zend_language_scanner.c"
++yy787:
++ YYDEBUG(787, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'C') goto yy784;
++ if (yych == 'C') goto yy788;
+ if (yych != 'c') goto yy187;
- yy784:
- YYDEBUG(784, *YYCURSOR);
++yy788:
++ YYDEBUG(788, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'L') goto yy785;
++ if (yych == 'L') goto yy789;
+ if (yych != 'l') goto yy187;
- yy785:
- YYDEBUG(785, *YYCURSOR);
++yy789:
++ YYDEBUG(789, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'A') goto yy786;
++ if (yych == 'A') goto yy790;
+ if (yych != 'a') goto yy187;
- yy786:
- YYDEBUG(786, *YYCURSOR);
++yy790:
++ YYDEBUG(790, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'R') goto yy787;
++ if (yych == 'R') goto yy791;
+ if (yych != 'r') goto yy187;
- yy787:
- YYDEBUG(787, *YYCURSOR);
++yy791:
++ YYDEBUG(791, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy788;
++ if (yych == 'E') goto yy792;
+ if (yych != 'e') goto yy187;
- yy788:
- YYDEBUG(788, *YYCURSOR);
++yy792:
++ YYDEBUG(792, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(789, *YYCURSOR);
++ YYDEBUG(793, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1122 "Zend/zend_language_scanner.l"
+ {
+ return T_ENDDECLARE;
+}
- #line 7129 "Zend/zend_language_scanner.c"
- yy790:
- YYDEBUG(790, *YYCURSOR);
++#line 7151 "Zend/zend_language_scanner.c"
++yy794:
++ YYDEBUG(794, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'T') goto yy791;
++ if (yych == 'T') goto yy795;
+ if (yych != 't') goto yy187;
- yy791:
- YYDEBUG(791, *YYCURSOR);
++yy795:
++ YYDEBUG(795, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'Y') goto yy792;
++ if (yych == 'Y') goto yy796;
+ if (yych != 'y') goto yy187;
- yy792:
- YYDEBUG(792, *YYCURSOR);
++yy796:
++ YYDEBUG(796, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(793, *YYCURSOR);
++ YYDEBUG(797, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1309 "Zend/zend_language_scanner.l"
+ {
+ return T_EMPTY;
+}
- #line 7152 "Zend/zend_language_scanner.c"
- yy794:
- YYDEBUG(794, *YYCURSOR);
++#line 7174 "Zend/zend_language_scanner.c"
++yy798:
++ YYDEBUG(798, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'E') goto yy795;
++ if (yych == 'E') goto yy799;
+ if (yych != 'e') goto yy187;
- yy795:
- YYDEBUG(795, *YYCURSOR);
++yy799:
++ YYDEBUG(799, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '^') {
+ if (yych <= '@') {
- if (yych <= '/') goto yy796;
++ if (yych <= '/') goto yy800;
+ if (yych <= '9') goto yy186;
+ } else {
- if (yych == 'I') goto yy797;
++ if (yych == 'I') goto yy801;
+ if (yych <= 'Z') goto yy186;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych != '`') goto yy186;
+ } else {
- if (yych <= 'i') goto yy797;
++ if (yych <= 'i') goto yy801;
+ if (yych <= 'z') goto yy186;
+ if (yych >= 0x7F) goto yy186;
+ }
+ }
- yy796:
- YYDEBUG(796, *YYCURSOR);
++yy800:
++ YYDEBUG(800, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1086 "Zend/zend_language_scanner.l"
+ {
+ return T_ELSE;
+}
- #line 7185 "Zend/zend_language_scanner.c"
- yy797:
- YYDEBUG(797, *YYCURSOR);
++#line 7207 "Zend/zend_language_scanner.c"
++yy801:
++ YYDEBUG(801, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'F') goto yy798;
++ if (yych == 'F') goto yy802;
+ if (yych != 'f') goto yy187;
- yy798:
- YYDEBUG(798, *YYCURSOR);
++yy802:
++ YYDEBUG(802, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(799, *YYCURSOR);
++ YYDEBUG(803, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1078 "Zend/zend_language_scanner.l"
+ {
+ return T_ELSEIF;
+}
- #line 7203 "Zend/zend_language_scanner.c"
- yy800:
- YYDEBUG(800, *YYCURSOR);
++#line 7225 "Zend/zend_language_scanner.c"
++yy804:
++ YYDEBUG(804, *YYCURSOR);
+ yych = *++YYCURSOR;
- if (yych == 'O') goto yy801;
++ if (yych == 'O') goto yy805;
+ if (yych != 'o') goto yy187;
- yy801:
- YYDEBUG(801, *YYCURSOR);
++yy805:
++ YYDEBUG(805, *YYCURSOR);
+ ++YYCURSOR;
+ if (yybm[0+(yych = *YYCURSOR)] & 4) {
+ goto yy186;
+ }
- YYDEBUG(802, *YYCURSOR);
++ YYDEBUG(806, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1162 "Zend/zend_language_scanner.l"
+ {
+ return T_ECHO;
+}
- #line 7221 "Zend/zend_language_scanner.c"
++#line 7243 "Zend/zend_language_scanner.c"
+ }
+/* *********************************** */
+yyc_ST_LOOKING_FOR_PROPERTY:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 0, 0, 0, 0, 0, 0,
+ 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 0, 0, 0, 0, 64,
+ 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 0, 0, 0, 0, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
- YYDEBUG(803, *YYCURSOR);
++ YYDEBUG(807, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '-') {
+ if (yych <= '\r') {
- if (yych <= 0x08) goto yy811;
- if (yych <= '\n') goto yy805;
- if (yych <= '\f') goto yy811;
++ if (yych <= 0x08) goto yy815;
++ if (yych <= '\n') goto yy809;
++ if (yych <= '\f') goto yy815;
+ } else {
- if (yych == ' ') goto yy805;
- if (yych <= ',') goto yy811;
- goto yy807;
++ if (yych == ' ') goto yy809;
++ if (yych <= ',') goto yy815;
++ goto yy811;
+ }
+ } else {
+ if (yych <= '_') {
- if (yych <= '@') goto yy811;
- if (yych <= 'Z') goto yy809;
- if (yych <= '^') goto yy811;
- goto yy809;
++ if (yych <= '@') goto yy815;
++ if (yych <= 'Z') goto yy813;
++ if (yych <= '^') goto yy815;
++ goto yy813;
+ } else {
- if (yych <= '`') goto yy811;
- if (yych <= 'z') goto yy809;
- if (yych <= '~') goto yy811;
- goto yy809;
++ if (yych <= '`') goto yy815;
++ if (yych <= 'z') goto yy813;
++ if (yych <= '~') goto yy815;
++ goto yy813;
+ }
+ }
- yy805:
- YYDEBUG(805, *YYCURSOR);
++yy809:
++ YYDEBUG(809, *YYCURSOR);
+ ++YYCURSOR;
+ yych = *YYCURSOR;
- goto yy817;
- yy806:
- YYDEBUG(806, *YYCURSOR);
++ goto yy821;
++yy810:
++ YYDEBUG(810, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1195 "Zend/zend_language_scanner.l"
+ {
+ DUMMY_STRINGL(zendlval, yytext, yyleng);
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_WHITESPACE;
+}
- #line 7300 "Zend/zend_language_scanner.c"
- yy807:
- YYDEBUG(807, *YYCURSOR);
++#line 7322 "Zend/zend_language_scanner.c"
++yy811:
++ YYDEBUG(811, *YYCURSOR);
+ ++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy814;
- yy808:
- YYDEBUG(808, *YYCURSOR);
++ if ((yych = *YYCURSOR) == '>') goto yy818;
++yy812:
++ YYDEBUG(812, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1211 "Zend/zend_language_scanner.l"
+ {
+ yyless(0);
+ yy_pop_state(TSRMLS_C);
+ goto restart;
+}
- #line 7314 "Zend/zend_language_scanner.c"
- yy809:
- YYDEBUG(809, *YYCURSOR);
++#line 7336 "Zend/zend_language_scanner.c"
++yy813:
++ YYDEBUG(813, *YYCURSOR);
+ ++YYCURSOR;
+ yych = *YYCURSOR;
- goto yy813;
- yy810:
- YYDEBUG(810, *YYCURSOR);
++ goto yy817;
++yy814:
++ YYDEBUG(814, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1205 "Zend/zend_language_scanner.l"
+ {
+ yy_pop_state(TSRMLS_C);
+ zend_copy_value(zendlval, yytext, yyleng);
+ return T_STRING;
+}
- #line 7329 "Zend/zend_language_scanner.c"
- yy811:
- YYDEBUG(811, *YYCURSOR);
++#line 7351 "Zend/zend_language_scanner.c"
++yy815:
++ YYDEBUG(815, *YYCURSOR);
+ yych = *++YYCURSOR;
- goto yy808;
- yy812:
- YYDEBUG(812, *YYCURSOR);
++ goto yy812;
++yy816:
++ YYDEBUG(816, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy813:
- YYDEBUG(813, *YYCURSOR);
++yy817:
++ YYDEBUG(817, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
- goto yy812;
++ goto yy816;
+ }
- goto yy810;
- yy814:
- YYDEBUG(814, *YYCURSOR);
++ goto yy814;
++yy818:
++ YYDEBUG(818, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(815, *YYCURSOR);
++ YYDEBUG(819, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+#line 1201 "Zend/zend_language_scanner.l"
+ {
+ return T_OBJECT_OPERATOR;
+}
- #line 7354 "Zend/zend_language_scanner.c"
- yy816:
- YYDEBUG(816, *YYCURSOR);
++#line 7376 "Zend/zend_language_scanner.c"
++yy820:
++ YYDEBUG(820, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy817:
- YYDEBUG(817, *YYCURSOR);
++yy821:
++ YYDEBUG(821, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
- goto yy816;
++ goto yy820;
+ }
- goto yy806;
++ goto yy810;
+ }
+/* *********************************** */
+yyc_ST_LOOKING_FOR_VARNAME:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
- YYDEBUG(818, *YYCURSOR);
++ YYDEBUG(822, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '_') {
- if (yych <= '@') goto yy822;
- if (yych <= 'Z') goto yy820;
- if (yych <= '^') goto yy822;
++ if (yych <= '@') goto yy826;
++ if (yych <= 'Z') goto yy824;
++ if (yych <= '^') goto yy826;
+ } else {
- if (yych <= '`') goto yy822;
- if (yych <= 'z') goto yy820;
- if (yych <= '~') goto yy822;
++ if (yych <= '`') goto yy826;
++ if (yych <= 'z') goto yy824;
++ if (yych <= '~') goto yy826;
+ }
- yy820:
- YYDEBUG(820, *YYCURSOR);
++yy824:
++ YYDEBUG(824, *YYCURSOR);
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '_') {
+ if (yych <= '@') {
- if (yych <= '/') goto yy821;
- if (yych <= '9') goto yy824;
++ if (yych <= '/') goto yy825;
++ if (yych <= '9') goto yy828;
+ } else {
- if (yych <= '[') goto yy824;
- if (yych >= '_') goto yy824;
++ if (yych <= '[') goto yy828;
++ if (yych >= '_') goto yy828;
+ }
+ } else {
+ if (yych <= '|') {
- if (yych <= '`') goto yy821;
- if (yych <= 'z') goto yy824;
++ if (yych <= '`') goto yy825;
++ if (yych <= 'z') goto yy828;
+ } else {
- if (yych != '~') goto yy824;
++ if (yych != '~') goto yy828;
+ }
+ }
- yy821:
- YYDEBUG(821, *YYCURSOR);
++yy825:
++ YYDEBUG(825, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1500 "Zend/zend_language_scanner.l"
++#line 1508 "Zend/zend_language_scanner.l"
+ {
+ yyless(0);
+ yy_pop_state(TSRMLS_C);
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ goto restart;
+}
- #line 7446 "Zend/zend_language_scanner.c"
- yy822:
- YYDEBUG(822, *YYCURSOR);
++#line 7468 "Zend/zend_language_scanner.c"
++yy826:
++ YYDEBUG(826, *YYCURSOR);
+ yych = *++YYCURSOR;
- goto yy821;
- yy823:
- YYDEBUG(823, *YYCURSOR);
++ goto yy825;
++yy827:
++ YYDEBUG(827, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy824:
- YYDEBUG(824, *YYCURSOR);
++yy828:
++ YYDEBUG(828, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
- goto yy823;
++ goto yy827;
+ }
- if (yych == '[') goto yy826;
- if (yych == '}') goto yy826;
- YYDEBUG(825, *YYCURSOR);
++ if (yych == '[') goto yy830;
++ if (yych == '}') goto yy830;
++ YYDEBUG(829, *YYCURSOR);
+ YYCURSOR = YYMARKER;
- goto yy821;
- yy826:
- YYDEBUG(826, *YYCURSOR);
++ goto yy825;
++yy830:
++ YYDEBUG(830, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(827, *YYCURSOR);
++ YYDEBUG(831, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1491 "Zend/zend_language_scanner.l"
++#line 1499 "Zend/zend_language_scanner.l"
+ {
+ yyless(yyleng - 1);
+ zend_copy_value(zendlval, yytext, yyleng);
+ yy_pop_state(TSRMLS_C);
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ return T_STRING_VARNAME;
+}
- #line 7479 "Zend/zend_language_scanner.c"
++#line 7501 "Zend/zend_language_scanner.c"
+ }
+/* *********************************** */
+yyc_ST_NOWDOC:
- YYDEBUG(828, *YYCURSOR);
++ YYDEBUG(832, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(830, *YYCURSOR);
++ YYDEBUG(834, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(831, *YYCURSOR);
++ YYDEBUG(835, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2331 "Zend/zend_language_scanner.l"
++#line 2339 "Zend/zend_language_scanner.l"
+ {
+ int newline = 0;
+
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ YYCURSOR--;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ /* Check for ending label on the next line */
+ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ /* newline before label will be subtracted from returned text, but
+ * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
+ if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
+ newline = 2; /* Windows newline */
+ } else {
+ newline = 1;
+ }
+
+ CG(increment_lineno) = 1; /* For newline before label */
+ BEGIN(ST_END_HEREDOC);
+
+ goto nowdoc_scan_done;
+ }
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+ }
+
+nowdoc_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_copy_value(zendlval, yytext, yyleng - newline);
+ HANDLE_NEWLINES(yytext, yyleng - newline);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
- #line 7546 "Zend/zend_language_scanner.c"
++#line 7568 "Zend/zend_language_scanner.c"
+/* *********************************** */
+yyc_ST_VAR_OFFSET:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 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(832, *YYCURSOR);
++ YYDEBUG(836, *YYCURSOR);
+ YYFILL(3);
+ yych = *YYCURSOR;
+ if (yych <= '/') {
+ if (yych <= ' ') {
+ if (yych <= '\f') {
- if (yych <= 0x08) goto yy846;
- if (yych <= '\n') goto yy842;
- goto yy846;
++ if (yych <= 0x08) goto yy850;
++ if (yych <= '\n') goto yy846;
++ goto yy850;
+ } else {
- if (yych <= '\r') goto yy842;
- if (yych <= 0x1F) goto yy846;
- goto yy842;
++ if (yych <= '\r') goto yy846;
++ if (yych <= 0x1F) goto yy850;
++ goto yy846;
+ }
+ } else {
+ if (yych <= '$') {
- if (yych <= '"') goto yy841;
- if (yych <= '#') goto yy842;
- goto yy837;
- } else {
- if (yych == '\'') goto yy842;
++ if (yych <= '"') goto yy845;
++ if (yych <= '#') goto yy846;
+ goto yy841;
++ } else {
++ if (yych == '\'') goto yy846;
++ goto yy845;
+ }
+ }
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '@') {
- if (yych <= '0') goto yy834;
- if (yych <= '9') goto yy836;
- goto yy841;
++ if (yych <= '0') goto yy838;
++ if (yych <= '9') goto yy840;
++ goto yy845;
+ } else {
- if (yych <= 'Z') goto yy844;
- if (yych <= '[') goto yy841;
- goto yy842;
++ if (yych <= 'Z') goto yy848;
++ if (yych <= '[') goto yy845;
++ goto yy846;
+ }
+ } else {
+ if (yych <= '_') {
- if (yych <= ']') goto yy839;
- if (yych <= '^') goto yy841;
- goto yy844;
++ if (yych <= ']') goto yy843;
++ if (yych <= '^') goto yy845;
++ goto yy848;
+ } else {
- if (yych <= '`') goto yy841;
- if (yych <= 'z') goto yy844;
- if (yych <= '~') goto yy841;
- goto yy844;
++ if (yych <= '`') goto yy845;
++ if (yych <= 'z') goto yy848;
++ if (yych <= '~') goto yy845;
++ goto yy848;
+ }
+ }
+ }
- yy834:
- YYDEBUG(834, *YYCURSOR);
++yy838:
++ YYDEBUG(838, *YYCURSOR);
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'W') {
+ if (yych <= '9') {
- if (yych >= '0') goto yy858;
++ if (yych >= '0') goto yy862;
+ } else {
- if (yych == 'B') goto yy855;
++ if (yych == 'B') goto yy859;
+ }
+ } else {
+ if (yych <= 'b') {
- if (yych <= 'X') goto yy857;
- if (yych >= 'b') goto yy855;
++ if (yych <= 'X') goto yy861;
++ if (yych >= 'b') goto yy859;
+ } else {
- if (yych == 'x') goto yy857;
++ if (yych == 'x') goto yy861;
+ }
+ }
- yy835:
- YYDEBUG(835, *YYCURSOR);
++yy839:
++ YYDEBUG(839, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1571 "Zend/zend_language_scanner.l"
++#line 1579 "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)) {
+ ZVAL_LONG(zendlval, strtol(yytext, NULL, 10));
+ } else {
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
+ }
+ return T_NUM_STRING;
+}
- #line 7662 "Zend/zend_language_scanner.c"
- yy836:
- YYDEBUG(836, *YYCURSOR);
++#line 7684 "Zend/zend_language_scanner.c"
++yy840:
++ YYDEBUG(840, *YYCURSOR);
+ yych = *++YYCURSOR;
- goto yy854;
- yy837:
- YYDEBUG(837, *YYCURSOR);
++ goto yy858;
++yy841:
++ YYDEBUG(841, *YYCURSOR);
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '_') {
- if (yych <= '@') goto yy838;
- if (yych <= 'Z') goto yy850;
- if (yych >= '_') goto yy850;
++ if (yych <= '@') goto yy842;
++ if (yych <= 'Z') goto yy854;
++ if (yych >= '_') goto yy854;
+ } else {
- if (yych <= '`') goto yy838;
- if (yych <= 'z') goto yy850;
- if (yych >= 0x7F) goto yy850;
++ if (yych <= '`') goto yy842;
++ if (yych <= 'z') goto yy854;
++ if (yych >= 0x7F) goto yy854;
+ }
- yy838:
- YYDEBUG(838, *YYCURSOR);
++yy842:
++ YYDEBUG(842, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1863 "Zend/zend_language_scanner.l"
++#line 1871 "Zend/zend_language_scanner.l"
+ {
+ /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
+ return yytext[0];
+}
- #line 7687 "Zend/zend_language_scanner.c"
- yy839:
- YYDEBUG(839, *YYCURSOR);
++#line 7709 "Zend/zend_language_scanner.c"
++yy843:
++ YYDEBUG(843, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(840, *YYCURSOR);
++ YYDEBUG(844, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1858 "Zend/zend_language_scanner.l"
++#line 1866 "Zend/zend_language_scanner.l"
+ {
+ yy_pop_state(TSRMLS_C);
+ return ']';
+}
- #line 7698 "Zend/zend_language_scanner.c"
- yy841:
- YYDEBUG(841, *YYCURSOR);
++#line 7720 "Zend/zend_language_scanner.c"
++yy845:
++ YYDEBUG(845, *YYCURSOR);
+ yych = *++YYCURSOR;
- goto yy838;
- yy842:
- YYDEBUG(842, *YYCURSOR);
++ goto yy842;
++yy846:
++ YYDEBUG(846, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(843, *YYCURSOR);
++ YYDEBUG(847, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1868 "Zend/zend_language_scanner.l"
++#line 1876 "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 7715 "Zend/zend_language_scanner.c"
- yy844:
- YYDEBUG(844, *YYCURSOR);
++#line 7737 "Zend/zend_language_scanner.c"
++yy848:
++ YYDEBUG(848, *YYCURSOR);
+ ++YYCURSOR;
+ yych = *YYCURSOR;
- goto yy849;
- yy845:
- YYDEBUG(845, *YYCURSOR);
++ goto yy853;
++yy849:
++ YYDEBUG(849, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1875 "Zend/zend_language_scanner.l"
++#line 1883 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, yytext, yyleng);
+ return T_STRING;
+}
- #line 7729 "Zend/zend_language_scanner.c"
- yy846:
- YYDEBUG(846, *YYCURSOR);
++#line 7751 "Zend/zend_language_scanner.c"
++yy850:
++ YYDEBUG(850, *YYCURSOR);
+ ++YYCURSOR;
- YYDEBUG(847, *YYCURSOR);
++ YYDEBUG(851, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 2388 "Zend/zend_language_scanner.l"
++#line 2396 "Zend/zend_language_scanner.l"
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
+ goto restart;
+}
- #line 7744 "Zend/zend_language_scanner.c"
- yy848:
- YYDEBUG(848, *YYCURSOR);
++#line 7766 "Zend/zend_language_scanner.c"
++yy852:
++ YYDEBUG(852, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy849:
- YYDEBUG(849, *YYCURSOR);
++yy853:
++ YYDEBUG(853, *YYCURSOR);
+ if (yybm[0+yych] & 16) {
- goto yy848;
++ goto yy852;
+ }
- goto yy845;
- yy850:
- YYDEBUG(850, *YYCURSOR);
++ goto yy849;
++yy854:
++ YYDEBUG(854, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(851, *YYCURSOR);
++ YYDEBUG(855, *YYCURSOR);
+ if (yych <= '^') {
+ if (yych <= '9') {
- if (yych >= '0') goto yy850;
++ if (yych >= '0') goto yy854;
+ } else {
- if (yych <= '@') goto yy852;
- if (yych <= 'Z') goto yy850;
++ if (yych <= '@') goto yy856;
++ if (yych <= 'Z') goto yy854;
+ }
+ } else {
+ if (yych <= '`') {
- if (yych <= '_') goto yy850;
++ if (yych <= '_') goto yy854;
+ } else {
- if (yych <= 'z') goto yy850;
- if (yych >= 0x7F) goto yy850;
++ if (yych <= 'z') goto yy854;
++ if (yych >= 0x7F) goto yy854;
+ }
+ }
- yy852:
- YYDEBUG(852, *YYCURSOR);
++yy856:
++ YYDEBUG(856, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1853 "Zend/zend_language_scanner.l"
++#line 1861 "Zend/zend_language_scanner.l"
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
- #line 7785 "Zend/zend_language_scanner.c"
- yy853:
- YYDEBUG(853, *YYCURSOR);
++#line 7807 "Zend/zend_language_scanner.c"
++yy857:
++ YYDEBUG(857, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- yy854:
- YYDEBUG(854, *YYCURSOR);
++yy858:
++ YYDEBUG(858, *YYCURSOR);
+ if (yybm[0+yych] & 32) {
- goto yy853;
++ goto yy857;
+ }
- goto yy835;
- yy855:
- YYDEBUG(855, *YYCURSOR);
++ goto yy839;
++yy859:
++ YYDEBUG(859, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
- goto yy863;
++ goto yy867;
+ }
- yy856:
- YYDEBUG(856, *YYCURSOR);
++yy860:
++ YYDEBUG(860, *YYCURSOR);
+ YYCURSOR = YYMARKER;
- goto yy835;
- yy857:
- YYDEBUG(857, *YYCURSOR);
++ goto yy839;
++yy861:
++ YYDEBUG(861, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 64) {
- goto yy861;
++ goto yy865;
+ }
- goto yy856;
- yy858:
- YYDEBUG(858, *YYCURSOR);
++ goto yy860;
++yy862:
++ YYDEBUG(862, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(859, *YYCURSOR);
- if (yych <= '/') goto yy860;
- if (yych <= '9') goto yy858;
- yy860:
- YYDEBUG(860, *YYCURSOR);
++ YYDEBUG(863, *YYCURSOR);
++ if (yych <= '/') goto yy864;
++ if (yych <= '9') goto yy862;
++yy864:
++ YYDEBUG(864, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
- #line 1580 "Zend/zend_language_scanner.l"
++#line 1588 "Zend/zend_language_scanner.l"
+ { /* Offset must be treated as a string */
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
+ return T_NUM_STRING;
+}
- #line 7830 "Zend/zend_language_scanner.c"
- yy861:
- YYDEBUG(861, *YYCURSOR);
++#line 7852 "Zend/zend_language_scanner.c"
++yy865:
++ YYDEBUG(865, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(862, *YYCURSOR);
++ YYDEBUG(866, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
- goto yy861;
++ goto yy865;
+ }
- goto yy860;
- yy863:
- YYDEBUG(863, *YYCURSOR);
++ goto yy864;
++yy867:
++ YYDEBUG(867, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
- YYDEBUG(864, *YYCURSOR);
++ YYDEBUG(868, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
- goto yy863;
++ goto yy867;
+ }
- goto yy860;
++ goto yy864;
+ }
+}
- #line 2397 "Zend/zend_language_scanner.l"
++#line 2405 "Zend/zend_language_scanner.l"
+
+}