-/* Generated by re2c 0.13.5 on Wed Feb 15 17:38:31 2012 */
-#line 1 "Zend/zend_language_scanner.l"
-/*
- +----------------------------------------------------------------------+
- | Zend Engine |
- +----------------------------------------------------------------------+
- | Copyright (c) 1998-2012 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"
-#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 "tsrm_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, CG(doc_comment_len) can be reused */
-#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len)
-#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_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 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(heredoc) = NULL;
- CG(heredoc_len) = 0;
- CG(doc_comment) = NULL;
- CG(doc_comment_len) = 0;
- zend_stack_init(&SCNG(state_stack));
-}
-
-void shutdown_scanner(TSRMLS_D)
-{
- if (CG(heredoc)) {
- efree(CG(heredoc));
- CG(heredoc_len)=0;
- }
- zend_stack_destroy(&SCNG(state_stack));
- RESET_DOC_COMMENT();
-}
-
-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->in = SCNG(yy_in);
- lex_state->yy_state = YYSTATE;
- lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
- lex_state->lineno = CG(zend_lineno);
-
-#ifdef ZEND_MULTIBYTE
- lex_state->script_org = SCNG(script_org);
- lex_state->script_org_size = SCNG(script_org_size);
- lex_state->script_filtered = SCNG(script_filtered);
- 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);
- lex_state->internal_encoding = SCNG(internal_encoding);
-#endif /* ZEND_MULTIBYTE */
-}
-
-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;
-
- 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);
-#ifdef ZEND_MULTIBYTE
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- SCNG(script_org) = NULL;
- }
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- 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;
- SCNG(internal_encoding) = lex_state->internal_encoding;
-#endif /* ZEND_MULTIBYTE */
-
- if (CG(heredoc)) {
- efree(CG(heredoc));
- CG(heredoc) = NULL;
- CG(heredoc_len) = 0;
- }
-}
-
-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;
- }
-}
-
-
-ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
-{
- char *file_path = NULL, *buf;
- size_t size, offset = 0;
-
- /* The shebang line was read, get the current position to obtain the buffer start */
- if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
- if ((offset = ftell(file_handle->handle.fp)) == -1) {
- 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) {
-#ifdef ZEND_MULTIBYTE
- if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) {
- return FAILURE;
- }
-
- SCNG(yy_in) = NULL;
-
- zend_multibyte_set_filter(NULL TSRMLS_CC);
-
- if (!SCNG(input_filter)) {
- SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
- memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
- SCNG(script_filtered_size) = SCNG(script_org_size);
- } else {
- SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
- if (SCNG(script_filtered) == NULL) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name);
- }
- }
- SCNG(yy_start) = SCNG(script_filtered) - offset;
- yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
-#else /* !ZEND_MULTIBYTE */
- SCNG(yy_start) = buf - offset;
- yy_scan_buffer(buf, size TSRMLS_CC);
-#endif /* ZEND_MULTIBYTE */
- } 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;
- }
-
- zend_set_compiled_filename(file_path TSRMLS_CC);
-
- if (CG(start_lineno)) {
- CG(zend_lineno) = CG(start_lineno);
- CG(start_lineno) = 0;
- } else {
- CG(zend_lineno) = 1;
- }
-
- 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;
- retval_znode.u.constant.type = IS_LONG;
- retval_znode.u.constant.value.lval = 1;
- Z_UNSET_ISREF(retval_znode.u.constant);
- Z_SET_REFCOUNT(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;
- compiler_result = zendparse(TSRMLS_C);
- zend_do_return(&retval_znode, 0 TSRMLS_CC);
- CG(in_compilation) = original_in_compilation;
- if (compiler_result==1) { /* 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(TSRMLS_C);
- } 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 (filename->type != IS_STRING) {
- tmp = *filename;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- filename = &tmp;
- }
- file_handle.filename = filename->value.str.val;
- 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) {
- int dummy = 1;
-
- if (!file_handle.opened_path) {
- file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
- }
-
- zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
-
- 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)
-{
- /* enforce two trailing NULLs for flex... */
- str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
-
- memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
-
- SCNG(yy_in)=NULL;
- SCNG(yy_start) = NULL;
-
-#ifdef ZEND_MULTIBYTE
- SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val);
- SCNG(script_org_size) = str->value.str.len;
-
- zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
-
- if (!SCNG(input_filter)) {
- SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
- memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
- SCNG(script_filtered_size) = SCNG(script_org_size);
- } else {
- SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
- }
-
- yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
-#else /* !ZEND_MULTIBYTE */
- yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC);
-#endif /* ZEND_MULTIBYTE */
-
- zend_set_compiled_filename(filename TSRMLS_CC);
- CG(zend_lineno) = 1;
- CG(increment_lineno) = 0;
- return SUCCESS;
-}
-
-
-ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
-{
- size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
-#ifdef ZEND_MULTIBYTE
- if (SCNG(input_filter)) {
- size_t original_offset = offset, length = 0; do {
- unsigned char *p = NULL;
- SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
- if (!p) {
- break;
- }
- efree(p);
- if (length > original_offset) {
- offset--;
- } else if (length < original_offset) {
- offset++;
- }
- } while (original_offset != length);
- }
-#endif
- 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 (source_string->value.str.len==0) {
- efree(op_array);
- return NULL;
- }
-
- CG(in_compilation) = 1;
-
- tmp = *source_string;
- zval_copy_ctor(&tmp);
- 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;
- BEGIN(ST_IN_SCRIPTING);
- compiler_result = zendparse(TSRMLS_C);
-
-#ifdef ZEND_MULTIBYTE
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- SCNG(script_org) = NULL;
- }
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
-#endif /* ZEND_MULTIBYTE */
-
- if (compiler_result==1) {
- CG(active_op_array) = original_active_op_array;
- 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(TSRMLS_C);
- 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);
-#ifdef ZEND_MULTIBYTE
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- SCNG(script_org) = NULL;
- }
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
-#endif /* ZEND_MULTIBYTE */
- zend_destroy_file_handle(&file_handle TSRMLS_CC);
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return SUCCESS;
-}
-
-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);
-#ifdef ZEND_MULTIBYTE
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- SCNG(script_org) = NULL;
- }
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
-#endif /* ZEND_MULTIBYTE */
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- zval_dtor(str);
- return SUCCESS;
-}
-END_EXTERN_C()
-
-#ifdef ZEND_MULTIBYTE
-
-BEGIN_EXTERN_C()
-ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
-{
- size_t original_offset, offset, free_flag, new_len, length;
- unsigned char *p;
-
- /* calculate current position */
- offset = original_offset = YYCURSOR - SCNG(yy_start);
- if (old_input_filter && offset > 0) {
- zend_encoding *new_encoding = SCNG(script_encoding);
- zend_encoding_filter new_filter = SCNG(input_filter);
- SCNG(script_encoding) = old_encoding;
- SCNG(input_filter) = old_input_filter;
- offset = zend_get_scanned_file_offset(TSRMLS_C);
- SCNG(script_encoding) = new_encoding;
- SCNG(input_filter) = new_filter;
- }
-
- /* convert and set */
- if (!SCNG(input_filter)) {
- length = SCNG(script_org_size) - offset;
- p = SCNG(script_org) + offset;
- free_flag = 0;
- } else {
- SCNG(input_filter)(&p, &length, SCNG(script_org) + offset, SCNG(script_org_size) - offset TSRMLS_CC);
- free_flag = 1;
- }
-
- new_len = original_offset + length;
-
- if (new_len > YYLIMIT - SCNG(yy_start)) {
- unsigned char *new_yy_start = erealloc(SCNG(yy_start), new_len);
- SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
- SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
- SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
- SCNG(yy_start) = new_yy_start;
- SCNG(script_filtered) = new_yy_start;
- SCNG(script_filtered_size) = new_len;
- }
-
- SCNG(yy_limit) = SCNG(yy_start) + new_len;
- memmove(SCNG(yy_start) + original_offset, p, length);
-
- if (free_flag) {
- efree(p);
- }
-}
-
-
-ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC)
-{
- size_t n;
-
- if (CG(interactive) == 0) {
- if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {
- return FAILURE;
- }
- n = len;
- return n;
- }
-
- /* interactive */
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- }
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- }
- SCNG(script_org) = NULL;
- SCNG(script_org_size) = 0;
-
- /* TODO: support widechars */
- if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {
- return FAILURE;
- }
- n = len;
-
- SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
- memcpy(SCNG(script_org), buf, n);
-
- return n;
-}
-
-
-ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
-{
- if (SCNG(script_org)) {
- efree(SCNG(script_org));
- SCNG(script_org) = NULL;
- }
- SCNG(script_org_size) = n;
-
- SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
- memcpy(SCNG(script_org), buf, n);
- *(SCNG(script_org)+SCNG(script_org_size)) = '\0';
-
- return 0;
-}
-
-
-# define zend_copy_value(zendlval, yytext, yyleng) \
- if (SCNG(output_filter)) { \
- size_t sz = 0; \
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
- zendlval->value.str.len = sz; \
- } else { \
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng; \
- }
-#else /* ZEND_MULTIBYTE */
-# define zend_copy_value(zendlval, yytext, yyleng) \
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng;
-#endif /* ZEND_MULTIBYTE */
-
-static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
-{
- register char *s, *t;
- char *end;
-
- ZVAL_STRINGL(zendlval, str, len, 1);
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
- if (s >= end) {
- *t++ = '\\';
- break;
- }
-
- switch(*s) {
- case 'n':
- *t++ = '\n';
- zendlval->value.str.len--;
- break;
- case 'r':
- *t++ = '\r';
- zendlval->value.str.len--;
- break;
- case 't':
- *t++ = '\t';
- zendlval->value.str.len--;
- break;
- case 'f':
- *t++ = '\f';
- zendlval->value.str.len--;
- break;
- case 'v':
- *t++ = '\v';
- zendlval->value.str.len--;
- break;
- case '"':
- case '`':
- if (*s != quote_type) {
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- case '\\':
- case '$':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- case 'x':
- case 'X':
- if (ZEND_IS_HEX(*(s+1))) {
- char hex_buf[3] = { 0, 0, 0 };
-
- zendlval->value.str.len--; /* for the 'x' */
-
- hex_buf[0] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_HEX(*(s+1))) {
- hex_buf[1] = *(++s);
- zendlval->value.str.len--;
- }
- *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;
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[1] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[2] = *(++s);
- zendlval->value.str.len--;
- }
- }
- *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;
-#ifdef ZEND_MULTIBYTE
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
-#endif /* ZEND_MULTIBYTE */
-}
-
-
-int lex_scan(zval *zendlval TSRMLS_DC)
-{
-restart:
- SCNG(yy_text) = YYCURSOR;
-
-yymore_restart:
-
-
-#line 862 "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 1590 "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(YYCURSOR + 1, "php", 3)) { /* 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);
-
-#ifdef ZEND_MULTIBYTE
- if (SCNG(output_filter)) {
- int readsize;
- size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
- if (readsize < yyleng) {
- yyless(readsize);
- }
- } else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- }
-#else /* !ZEND_MULTIBYTE */
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
-#endif
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_INLINE_HTML;
-}
-#line 1026 "Zend/zend_language_scanner.c"
-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 1578 "Zend/zend_language_scanner.l"
- {
- if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-#line 1056 "Zend/zend_language_scanner.c"
-yy7:
- YYDEBUG(7, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy43;
- YYDEBUG(8, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1555 "Zend/zend_language_scanner.l"
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-#line 1075 "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 1511 "Zend/zend_language_scanner.l"
- {
- YYCTYPE *bracket = 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);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-#line 1278 "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 1529 "Zend/zend_language_scanner.l"
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
- } else {
- goto inline_char_handler;
- }
-}
-#line 1317 "Zend/zend_language_scanner.c"
-yy45:
- YYDEBUG(45, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(46, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1542 "Zend/zend_language_scanner.l"
- {
- if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
- } else {
- goto inline_char_handler;
- }
-}
-#line 1335 "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 1568 "Zend/zend_language_scanner.l"
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINE(yytext[yyleng-1]);
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-#line 1371 "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 2048 "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 1483 "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 1992 "Zend/zend_language_scanner.l"
- {
- BEGIN(ST_IN_SCRIPTING);
- return '`';
-}
-#line 1499 "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 1979 "Zend/zend_language_scanner.l"
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-#line 1516 "Zend/zend_language_scanner.c"
-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 1677 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1538 "Zend/zend_language_scanner.c"
-yy66:
- YYDEBUG(66, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(67, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-#line 1549 "Zend/zend_language_scanner.c"
-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 1669 "Zend/zend_language_scanner.l"
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1571 "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 1659 "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));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1597 "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 1998 "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 1714 "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 1987 "Zend/zend_language_scanner.l"
- {
- BEGIN(ST_IN_SCRIPTING);
- return '"';
-}
-#line 1730 "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 1979 "Zend/zend_language_scanner.l"
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-#line 1747 "Zend/zend_language_scanner.c"
-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 1677 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1769 "Zend/zend_language_scanner.c"
-yy88:
- YYDEBUG(88, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(89, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-#line 1780 "Zend/zend_language_scanner.c"
-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 1669 "Zend/zend_language_scanner.l"
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1802 "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 1659 "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));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 1828 "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 1966 "Zend/zend_language_scanner.l"
- {
- YYCURSOR += CG(heredoc_len) - 1;
- yyleng = CG(heredoc_len);
-
- Z_STRVAL_P(zendlval) = CG(heredoc);
- Z_STRLEN_P(zendlval) = CG(heredoc_len);
- CG(heredoc) = NULL;
- CG(heredoc_len) = 0;
- BEGIN(ST_IN_SCRIPTING);
- return T_END_HEREDOC;
-}
-#line 1851 "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 2090 "Zend/zend_language_scanner.l"
- {
- int newline = 0;
-
- 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) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {
- YYCTYPE *end = YYCURSOR + CG(heredoc_len);
-
- 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 1984 "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 1979 "Zend/zend_language_scanner.l"
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-#line 2006 "Zend/zend_language_scanner.c"
-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 1677 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 2028 "Zend/zend_language_scanner.c"
-yy112:
- YYDEBUG(112, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(113, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1300 "Zend/zend_language_scanner.l"
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-#line 2039 "Zend/zend_language_scanner.c"
-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 1669 "Zend/zend_language_scanner.l"
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 2061 "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 1659 "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));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 2087 "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,
- 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 0, 0, 0, 0, 0, 0,
- 0, 40, 40, 40, 40, 40, 40, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 0, 0, 0, 0, 8,
- 0, 40, 40, 40, 40, 40, 40, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 0, 0, 0, 0, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- };
- 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 yy183;
- case '\t':
- case '\n':
- case '\r':
- case ' ': goto yy139;
- case '!': goto yy152;
- case '"': goto yy179;
- case '#': goto yy175;
- case '$': goto yy164;
- case '%': goto yy158;
- case '&': goto yy159;
- case '\'': goto yy177;
- case '(': goto yy146;
- case ')':
- case ',':
- case ';':
- case '@':
- case '[':
- case ']':
- case '~': goto yy165;
- case '*': goto yy155;
- case '+': goto yy151;
- case '-': goto yy137;
- case '.': goto yy157;
- case '/': goto yy156;
- case '0': goto yy171;
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy173;
- case ':': goto yy141;
- case '<': goto yy153;
- case '=': goto yy149;
- case '>': goto yy154;
- case '?': goto yy166;
- case 'A':
- case 'a': goto yy132;
- case 'B':
- case 'b': goto yy134;
- 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 yy135;
- case 'I':
- case 'i': goto yy130;
- case 'L':
- case 'l': goto yy150;
- case 'N':
- case 'n': goto yy144;
- case 'O':
- case 'o': goto yy162;
- case 'P':
- case 'p': goto yy136;
- case 'R':
- case 'r': goto yy128;
- case 'S':
- case 's': goto yy133;
- case 'T':
- case 't': goto yy129;
- case 'U':
- case 'u': goto yy147;
- case 'V':
- case 'v': goto yy145;
- case 'W':
- case 'w': goto yy131;
- case 'X':
- case 'x': goto yy163;
- case '\\': goto yy142;
- case '^': goto yy161;
- case '_': goto yy148;
- case '`': goto yy181;
- case '{': goto yy167;
- case '|': goto yy160;
- case '}': goto yy169;
- default: goto yy174;
- }
-yy123:
- YYDEBUG(123, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(-1, yych);
- switch ((yych = *YYCURSOR)) {
- case 'C':
- case 'c': goto yy701;
- case 'L':
- case 'l': goto yy702;
- case 'M':
- case 'm': goto yy703;
- case 'N':
- case 'n': goto yy704;
- case 'V':
- case 'v': goto yy705;
- case 'X':
- case 'x': goto yy706;
- default: goto yy186;
- }
-yy124:
- YYDEBUG(124, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1700 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-#line 2274 "Zend/zend_language_scanner.c"
-yy125:
- YYDEBUG(125, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych <= 'H') {
- if (yych == 'E') goto yy683;
- goto yy186;
- } else {
- if (yych <= 'I') goto yy684;
- if (yych <= 'N') goto yy186;
- goto yy685;
- }
- } else {
- if (yych <= 'h') {
- if (yych == 'e') goto yy683;
- goto yy186;
- } else {
- if (yych <= 'i') goto yy684;
- if (yych == 'o') goto yy685;
- goto yy186;
- }
- }
-yy126:
- YYDEBUG(126, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'U') {
- if (yych <= 'N') {
- if (yych == 'I') goto yy662;
- goto yy186;
- } else {
- if (yych <= 'O') goto yy663;
- if (yych <= 'T') goto yy186;
- goto yy664;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'i') goto yy662;
- goto yy186;
- } else {
- if (yych <= 'o') goto yy663;
- if (yych == 'u') goto yy664;
- goto yy186;
- }
- }
-yy127:
- YYDEBUG(127, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych <= 'K') {
- if (yych == 'A') goto yy634;
- goto yy186;
- } else {
- if (yych <= 'L') goto yy635;
- if (yych <= 'N') goto yy186;
- goto yy636;
- }
- } else {
- if (yych <= 'k') {
- if (yych == 'a') goto yy634;
- goto yy186;
- } else {
- if (yych <= 'l') goto yy635;
- if (yych == 'o') goto yy636;
- goto yy186;
- }
- }
-yy128:
- YYDEBUG(128, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy616;
- if (yych == 'e') goto yy616;
- goto yy186;
-yy129:
- YYDEBUG(129, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'R') {
- if (yych == 'H') goto yy608;
- if (yych <= 'Q') goto yy186;
- goto yy609;
- } else {
- if (yych <= 'h') {
- if (yych <= 'g') goto yy186;
- goto yy608;
- } else {
- if (yych == 'r') goto yy609;
- goto yy186;
- }
- }
-yy130:
- YYDEBUG(130, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'S') {
- if (yych <= 'L') {
- if (yych == 'F') goto yy561;
- goto yy186;
- } else {
- if (yych <= 'M') goto yy563;
- if (yych <= 'N') goto yy564;
- if (yych <= 'R') goto yy186;
- goto yy565;
- }
- } else {
- if (yych <= 'm') {
- if (yych == 'f') goto yy561;
- if (yych <= 'l') goto yy186;
- goto yy563;
- } else {
- if (yych <= 'n') goto yy564;
- if (yych == 's') goto yy565;
- goto yy186;
- }
- }
-yy131:
- YYDEBUG(131, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy556;
- if (yych == 'h') goto yy556;
- goto yy186;
-yy132:
- YYDEBUG(132, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'S') {
- if (yych <= 'M') {
- if (yych == 'B') goto yy538;
- goto yy186;
- } else {
- if (yych <= 'N') goto yy539;
- if (yych <= 'Q') goto yy186;
- if (yych <= 'R') goto yy540;
- goto yy541;
- }
- } else {
- if (yych <= 'n') {
- if (yych == 'b') goto yy538;
- if (yych <= 'm') goto yy186;
- goto yy539;
- } else {
- if (yych <= 'q') goto yy186;
- if (yych <= 'r') goto yy540;
- if (yych <= 's') goto yy541;
- goto yy186;
- }
- }
-yy133:
- YYDEBUG(133, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'W') {
- if (yych == 'T') goto yy526;
- if (yych <= 'V') goto yy186;
- goto yy527;
- } else {
- if (yych <= 't') {
- if (yych <= 's') goto yy186;
- goto yy526;
- } else {
- if (yych == 'w') goto yy527;
- goto yy186;
- }
- }
-yy134:
- YYDEBUG(134, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') {
- if (yych <= '"') {
- if (yych <= '!') goto yy186;
- goto yy518;
- } else {
- if (yych == '\'') goto yy519;
- goto yy186;
- }
- } else {
- if (yych <= 'R') {
- if (yych <= '<') goto yy517;
- if (yych <= 'Q') goto yy186;
- goto yy520;
- } else {
- if (yych == 'r') goto yy520;
- goto yy186;
- }
- }
-yy135:
- YYDEBUG(135, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'L') goto yy507;
- if (yych <= 'N') goto yy186;
- goto yy508;
- } else {
- if (yych <= 'l') {
- if (yych <= 'k') goto yy186;
- goto yy507;
- } else {
- if (yych == 'o') goto yy508;
- goto yy186;
- }
- }
-yy136:
- YYDEBUG(136, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'R') goto yy483;
- if (yych <= 'T') goto yy186;
- goto yy484;
- } else {
- if (yych <= 'r') {
- if (yych <= 'q') goto yy186;
- goto yy483;
- } else {
- if (yych == 'u') goto yy484;
- goto yy186;
- }
- }
-yy137:
- YYDEBUG(137, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '<') {
- if (yych == '-') goto yy479;
- } else {
- if (yych <= '=') goto yy477;
- if (yych <= '>') goto yy481;
- }
-yy138:
- YYDEBUG(138, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1289 "Zend/zend_language_scanner.l"
- {
- return yytext[0];
-}
-#line 2504 "Zend/zend_language_scanner.c"
-yy139:
- YYDEBUG(139, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy476;
-yy140:
- YYDEBUG(140, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
-}
-#line 2521 "Zend/zend_language_scanner.c"
-yy141:
- YYDEBUG(141, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == ':') goto yy473;
- goto yy138;
-yy142:
- YYDEBUG(142, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(143, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1053 "Zend/zend_language_scanner.l"
- {
- return T_NS_SEPARATOR;
-}
-#line 2536 "Zend/zend_language_scanner.c"
-yy144:
- YYDEBUG(144, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'E') {
- if (yych == 'A') goto yy461;
- if (yych <= 'D') goto yy186;
- goto yy462;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy186;
- goto yy461;
- } else {
- if (yych == 'e') goto yy462;
- goto yy186;
- }
- }
-yy145:
- YYDEBUG(145, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy458;
- if (yych == 'a') goto yy458;
- goto yy186;
-yy146:
- YYDEBUG(146, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych <= ' ') {
- if (yych == '\t') goto yy379;
- if (yych <= 0x1F) goto yy138;
- goto yy379;
- } else {
- if (yych <= '@') goto yy138;
- if (yych == 'C') goto yy138;
- goto yy379;
- }
- } else {
- if (yych <= 'I') {
- if (yych == 'F') goto yy379;
- if (yych <= 'H') goto yy138;
- goto yy379;
- } else {
- if (yych == 'O') goto yy379;
- if (yych <= 'Q') goto yy138;
- goto yy379;
- }
- }
- } else {
- if (yych <= 'f') {
- if (yych <= 'b') {
- if (yych == 'U') goto yy379;
- if (yych <= '`') goto yy138;
- goto yy379;
- } else {
- if (yych == 'd') goto yy379;
- if (yych <= 'e') goto yy138;
- goto yy379;
- }
- } else {
- if (yych <= 'o') {
- if (yych == 'i') goto yy379;
- if (yych <= 'n') goto yy138;
- goto yy379;
- } else {
- if (yych <= 's') {
- if (yych <= 'q') goto yy138;
- goto yy379;
- } else {
- if (yych == 'u') goto yy379;
- goto yy138;
- }
- }
- }
- }
-yy147:
- YYDEBUG(147, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'S') {
- if (yych == 'N') goto yy370;
- if (yych <= 'R') goto yy186;
- goto yy371;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy186;
- goto yy370;
- } else {
- if (yych == 's') goto yy371;
- goto yy186;
- }
- }
-yy148:
- YYDEBUG(148, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy296;
- goto yy186;
-yy149:
- YYDEBUG(149, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy138;
- if (yych <= '=') goto yy290;
- if (yych <= '>') goto yy292;
- goto yy138;
-yy150:
- YYDEBUG(150, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy286;
- if (yych == 'i') goto yy286;
- goto yy186;
-yy151:
- YYDEBUG(151, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '+') goto yy284;
- if (yych == '=') goto yy282;
- goto yy138;
-yy152:
- YYDEBUG(152, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy279;
- goto yy138;
-yy153:
- YYDEBUG(153, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') {
- if (yych == '/') goto yy251;
- goto yy138;
- } else {
- if (yych <= '<') goto yy249;
- if (yych <= '=') goto yy252;
- if (yych <= '>') goto yy254;
- goto yy138;
- }
-yy154:
- YYDEBUG(154, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy138;
- if (yych <= '=') goto yy245;
- if (yych <= '>') goto yy243;
- goto yy138;
-yy155:
- YYDEBUG(155, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy241;
- goto yy138;
-yy156:
- YYDEBUG(156, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych == '*') goto yy233;
- goto yy138;
- } else {
- if (yych <= '/') goto yy235;
- if (yych == '=') goto yy236;
- goto yy138;
- }
-yy157:
- YYDEBUG(157, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy138;
- if (yych <= '9') goto yy229;
- if (yych == '=') goto yy231;
- goto yy138;
-yy158:
- YYDEBUG(158, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy138;
- if (yych <= '=') goto yy225;
- if (yych <= '>') goto yy223;
- goto yy138;
-yy159:
- YYDEBUG(159, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '&') goto yy219;
- if (yych == '=') goto yy221;
- goto yy138;
-yy160:
- YYDEBUG(160, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy217;
- if (yych == '|') goto yy215;
- goto yy138;
-yy161:
- YYDEBUG(161, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy213;
- goto yy138;
-yy162:
- YYDEBUG(162, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy211;
- if (yych == 'r') goto yy211;
- goto yy186;
-yy163:
- YYDEBUG(163, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy208;
- if (yych == 'o') goto yy208;
- goto yy186;
-yy164:
- YYDEBUG(164, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy138;
- if (yych <= 'Z') goto yy205;
- if (yych <= '^') goto yy138;
- goto yy205;
- } else {
- if (yych <= '`') goto yy138;
- if (yych <= 'z') goto yy205;
- if (yych <= '~') goto yy138;
- goto yy205;
- }
-yy165:
- YYDEBUG(165, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy138;
-yy166:
- YYDEBUG(166, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy201;
- goto yy138;
-yy167:
- YYDEBUG(167, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(168, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1294 "Zend/zend_language_scanner.l"
- {
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return '{';
-}
-#line 2769 "Zend/zend_language_scanner.c"
-yy169:
- YYDEBUG(169, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(170, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1306 "Zend/zend_language_scanner.l"
- {
- RESET_DOC_COMMENT();
- if (!zend_stack_is_empty(&SCNG(state_stack))) {
- yy_pop_state(TSRMLS_C);
- }
- return '}';
-}
-#line 2783 "Zend/zend_language_scanner.c"
-yy171:
- YYDEBUG(171, *YYCURSOR);
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'E') {
- if (yych <= '/') {
- if (yych == '.') goto yy187;
- } else {
- if (yych <= '9') goto yy190;
- if (yych >= 'E') goto yy192;
- }
- } else {
- if (yych <= 'd') {
- if (yych == 'X') goto yy197;
- } else {
- if (yych <= 'e') goto yy192;
- if (yych == 'x') goto yy197;
- }
- }
-yy172:
- YYDEBUG(172, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1332 "Zend/zend_language_scanner.l"
- {
- if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- zendlval->value.lval = strtol(yytext, NULL, 0);
- } else {
- errno = 0;
- zendlval->value.lval = strtol(yytext, NULL, 0);
- if (errno == ERANGE) { /* Overflow */
- if (yytext[0] == '0') { /* octal overflow */
- zendlval->value.dval = zend_oct_strtod(yytext, NULL);
- } else {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- }
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
- }
-
- zendlval->type = IS_LONG;
- return T_LNUMBER;
-}
-#line 2827 "Zend/zend_language_scanner.c"
-yy173:
- YYDEBUG(173, *YYCURSOR);
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '9') {
- if (yych == '.') goto yy187;
- if (yych <= '/') goto yy172;
- goto yy190;
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') goto yy172;
- goto yy192;
- } else {
- if (yych == 'e') goto yy192;
- goto yy172;
- }
- }
-yy174:
- YYDEBUG(174, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy186;
-yy175:
- YYDEBUG(175, *YYCURSOR);
- ++YYCURSOR;
-yy176:
- YYDEBUG(176, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1707 "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 2889 "Zend/zend_language_scanner.c"
-yy177:
- YYDEBUG(177, *YYCURSOR);
- ++YYCURSOR;
-yy178:
- YYDEBUG(178, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1798 "Zend/zend_language_scanner.l"
- {
- 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;
- }
- }
-
- zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
- zendlval->value.str.len = yyleng-bprefix-2;
- zendlval->type = IS_STRING;
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
-
- switch(*s) {
- case '\\':
- case '\'':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- default:
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- } else {
- *t++ = *s;
- }
-
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
- CG(zend_lineno)++;
- }
- s++;
- }
- *t = 0;
-
-#ifdef ZEND_MULTIBYTE
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
-#endif /* ZEND_MULTIBYTE */
- return T_CONSTANT_ENCAPSED_STRING;
-}
-#line 2966 "Zend/zend_language_scanner.c"
-yy179:
- YYDEBUG(179, *YYCURSOR);
- ++YYCURSOR;
-yy180:
- YYDEBUG(180, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1869 "Zend/zend_language_scanner.l"
- {
- 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 3014 "Zend/zend_language_scanner.c"
-yy181:
- YYDEBUG(181, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(182, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1960 "Zend/zend_language_scanner.l"
- {
- BEGIN(ST_BACKQUOTE);
- return '`';
-}
-#line 3025 "Zend/zend_language_scanner.c"
-yy183:
- YYDEBUG(183, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(184, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "Zend/zend_language_scanner.l"
- {
- 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 3040 "Zend/zend_language_scanner.c"
-yy185:
- YYDEBUG(185, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy186:
- YYDEBUG(186, *YYCURSOR);
- if (yybm[0+yych] & 8) {
- goto yy185;
- }
- goto yy124;
-yy187:
- YYDEBUG(187, *YYCURSOR);
- yyaccept = 3;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(188, *YYCURSOR);
- if (yybm[0+yych] & 16) {
- goto yy187;
- }
- if (yych == 'E') goto yy192;
- if (yych == 'e') goto yy192;
-yy189:
- YYDEBUG(189, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1397 "Zend/zend_language_scanner.l"
- {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
-}
-#line 3073 "Zend/zend_language_scanner.c"
-yy190:
- YYDEBUG(190, *YYCURSOR);
- yyaccept = 2;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(191, *YYCURSOR);
- if (yych <= '9') {
- if (yych == '.') goto yy187;
- if (yych <= '/') goto yy172;
- goto yy190;
- } else {
- if (yych <= 'E') {
- if (yych <= 'D') goto yy172;
- } else {
- if (yych != 'e') goto yy172;
- }
- }
-yy192:
- YYDEBUG(192, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy194;
- } else {
- if (yych <= '-') goto yy194;
- if (yych <= '/') goto yy193;
- if (yych <= '9') goto yy195;
- }
-yy193:
- YYDEBUG(193, *YYCURSOR);
- YYCURSOR = YYMARKER;
- if (yyaccept <= 2) {
- if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy124;
- } else {
- goto yy138;
- }
- } else {
- goto yy172;
- }
- } else {
- if (yyaccept <= 4) {
- if (yyaccept <= 3) {
- goto yy189;
- } else {
- goto yy234;
- }
- } else {
- goto yy250;
- }
- }
-yy194:
- YYDEBUG(194, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy193;
- if (yych >= ':') goto yy193;
-yy195:
- YYDEBUG(195, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(196, *YYCURSOR);
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy195;
- goto yy189;
-yy197:
- YYDEBUG(197, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 32) {
- goto yy198;
- }
- goto yy193;
-yy198:
- YYDEBUG(198, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(199, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy198;
- }
- YYDEBUG(200, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1353 "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) {
- zendlval->value.lval = 0;
- } else {
- zendlval->value.lval = strtol(hex, NULL, 16);
- }
- zendlval->type = IS_LONG;
- return T_LNUMBER;
- } else {
- zendlval->value.dval = zend_hex_strtod(hex, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
-}
-#line 3183 "Zend/zend_language_scanner.c"
-yy201:
- YYDEBUG(201, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy203;
- if (yych == '\r') goto yy204;
-yy202:
- YYDEBUG(202, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1775 "Zend/zend_language_scanner.l"
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(INITIAL);
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
-}
-#line 3200 "Zend/zend_language_scanner.c"
-yy203:
- YYDEBUG(203, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy202;
-yy204:
- YYDEBUG(204, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy203;
- goto yy202;
-yy205:
- YYDEBUG(205, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(206, *YYCURSOR);
- if (yych <= '^') {
- if (yych <= '9') {
- if (yych >= '0') goto yy205;
- } else {
- if (yych <= '@') goto yy207;
- if (yych <= 'Z') goto yy205;
- }
- } else {
- if (yych <= '`') {
- if (yych <= '_') goto yy205;
- } else {
- if (yych <= 'z') goto yy205;
- if (yych >= 0x7F) goto yy205;
- }
- }
-yy207:
- YYDEBUG(207, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1677 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 3240 "Zend/zend_language_scanner.c"
-yy208:
- YYDEBUG(208, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy209;
- if (yych != 'r') goto yy186;
-yy209:
- YYDEBUG(209, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(210, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1277 "Zend/zend_language_scanner.l"
- {
- return T_LOGICAL_XOR;
-}
-#line 3258 "Zend/zend_language_scanner.c"
-yy211:
- YYDEBUG(211, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(212, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1269 "Zend/zend_language_scanner.l"
- {
- return T_LOGICAL_OR;
-}
-#line 3271 "Zend/zend_language_scanner.c"
-yy213:
- YYDEBUG(213, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(214, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1257 "Zend/zend_language_scanner.l"
- {
- return T_XOR_EQUAL;
-}
-#line 3281 "Zend/zend_language_scanner.c"
-yy215:
- YYDEBUG(215, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(216, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1261 "Zend/zend_language_scanner.l"
- {
- return T_BOOLEAN_OR;
-}
-#line 3291 "Zend/zend_language_scanner.c"
-yy217:
- YYDEBUG(217, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(218, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1253 "Zend/zend_language_scanner.l"
- {
- return T_OR_EQUAL;
-}
-#line 3301 "Zend/zend_language_scanner.c"
-yy219:
- YYDEBUG(219, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(220, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1265 "Zend/zend_language_scanner.l"
- {
- return T_BOOLEAN_AND;
-}
-#line 3311 "Zend/zend_language_scanner.c"
-yy221:
- YYDEBUG(221, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(222, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1249 "Zend/zend_language_scanner.l"
- {
- return T_AND_EQUAL;
-}
-#line 3321 "Zend/zend_language_scanner.c"
-yy223:
- YYDEBUG(223, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy227;
- if (yych == '\r') goto yy228;
-yy224:
- YYDEBUG(224, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1784 "Zend/zend_language_scanner.l"
- {
- if (CG(asp_tags)) {
- BEGIN(INITIAL);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- zendlval->value.str.val = yytext; /* no copying - intentional */
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
- } else {
- yyless(1);
- return yytext[0];
- }
-}
-#line 3343 "Zend/zend_language_scanner.c"
-yy225:
- YYDEBUG(225, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(226, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1237 "Zend/zend_language_scanner.l"
- {
- return T_MOD_EQUAL;
-}
-#line 3353 "Zend/zend_language_scanner.c"
-yy227:
- YYDEBUG(227, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy224;
-yy228:
- YYDEBUG(228, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy227;
- goto yy224;
-yy229:
- YYDEBUG(229, *YYCURSOR);
- yyaccept = 3;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(230, *YYCURSOR);
- if (yych <= 'D') {
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy229;
- goto yy189;
- } else {
- if (yych <= 'E') goto yy192;
- if (yych == 'e') goto yy192;
- goto yy189;
- }
-yy231:
- YYDEBUG(231, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(232, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1233 "Zend/zend_language_scanner.l"
- {
- return T_CONCAT_EQUAL;
-}
-#line 3388 "Zend/zend_language_scanner.c"
-yy233:
- YYDEBUG(233, *YYCURSOR);
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy238;
-yy234:
- YYDEBUG(234, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1741 "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) = estrndup(yytext, yyleng);
- CG(doc_comment_len) = yyleng;
- return T_DOC_COMMENT;
- }
-
- return T_COMMENT;
-}
-#line 3431 "Zend/zend_language_scanner.c"
-yy235:
- YYDEBUG(235, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy176;
-yy236:
- YYDEBUG(236, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(237, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1229 "Zend/zend_language_scanner.l"
- {
- return T_DIV_EQUAL;
-}
-#line 3445 "Zend/zend_language_scanner.c"
-yy238:
- YYDEBUG(238, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy239;
- }
- goto yy193;
-yy239:
- YYDEBUG(239, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(240, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy239;
- }
- goto yy234;
-yy241:
- YYDEBUG(241, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(242, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1225 "Zend/zend_language_scanner.l"
- {
- return T_MUL_EQUAL;
-}
-#line 3472 "Zend/zend_language_scanner.c"
-yy243:
- YYDEBUG(243, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy247;
- YYDEBUG(244, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1285 "Zend/zend_language_scanner.l"
- {
- return T_SR;
-}
-#line 3483 "Zend/zend_language_scanner.c"
-yy245:
- YYDEBUG(245, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(246, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1213 "Zend/zend_language_scanner.l"
- {
- return T_IS_GREATER_OR_EQUAL;
-}
-#line 3493 "Zend/zend_language_scanner.c"
-yy247:
- YYDEBUG(247, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(248, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1245 "Zend/zend_language_scanner.l"
- {
- return T_SR_EQUAL;
-}
-#line 3503 "Zend/zend_language_scanner.c"
-yy249:
- YYDEBUG(249, *YYCURSOR);
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy250;
- if (yych <= '<') goto yy265;
- if (yych <= '=') goto yy263;
-yy250:
- YYDEBUG(250, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1281 "Zend/zend_language_scanner.l"
- {
- return T_SL;
-}
-#line 3518 "Zend/zend_language_scanner.c"
-yy251:
- YYDEBUG(251, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy256;
- if (yych == 's') goto yy256;
- goto yy193;
-yy252:
- YYDEBUG(252, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(253, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1209 "Zend/zend_language_scanner.l"
- {
- return T_IS_SMALLER_OR_EQUAL;
-}
-#line 3534 "Zend/zend_language_scanner.c"
-yy254:
- YYDEBUG(254, *YYCURSOR);
- ++YYCURSOR;
-yy255:
- YYDEBUG(255, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1205 "Zend/zend_language_scanner.l"
- {
- return T_IS_NOT_EQUAL;
-}
-#line 3545 "Zend/zend_language_scanner.c"
-yy256:
- YYDEBUG(256, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy257;
- if (yych != 'c') goto yy193;
-yy257:
- YYDEBUG(257, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy258;
- if (yych != 'r') goto yy193;
-yy258:
- YYDEBUG(258, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy259;
- if (yych != 'i') goto yy193;
-yy259:
- YYDEBUG(259, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy260;
- if (yych != 'p') goto yy193;
-yy260:
- YYDEBUG(260, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy261;
- if (yych != 't') goto yy193;
-yy261:
- YYDEBUG(261, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(262, *YYCURSOR);
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy193;
- if (yych <= '\n') goto yy261;
- if (yych <= '\f') goto yy193;
- goto yy261;
- } else {
- if (yych <= ' ') {
- if (yych <= 0x1F) goto yy193;
- goto yy261;
- } else {
- if (yych == '>') goto yy201;
- goto yy193;
- }
- }
-yy263:
- YYDEBUG(263, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(264, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1241 "Zend/zend_language_scanner.l"
- {
- return T_SL_EQUAL;
-}
-#line 3600 "Zend/zend_language_scanner.c"
-yy265:
- YYDEBUG(265, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- YYDEBUG(266, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy265;
- }
- if (yych <= 'Z') {
- if (yych <= '&') {
- if (yych == '"') goto yy270;
- goto yy193;
- } else {
- if (yych <= '\'') goto yy269;
- if (yych <= '@') goto yy193;
- }
- } else {
- if (yych <= '`') {
- if (yych != '_') goto yy193;
- } else {
- if (yych <= 'z') goto yy267;
- if (yych <= '~') goto yy193;
- }
- }
-yy267:
- YYDEBUG(267, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- YYDEBUG(268, *YYCURSOR);
- if (yych <= '@') {
- if (yych <= '\f') {
- if (yych == '\n') goto yy274;
- goto yy193;
- } else {
- if (yych <= '\r') goto yy276;
- if (yych <= '/') goto yy193;
- if (yych <= '9') goto yy267;
- goto yy193;
- }
- } else {
- if (yych <= '_') {
- if (yych <= 'Z') goto yy267;
- if (yych <= '^') goto yy193;
- goto yy267;
- } else {
- if (yych <= '`') goto yy193;
- if (yych <= 'z') goto yy267;
- if (yych <= '~') goto yy193;
- goto yy267;
- }
- }
-yy269:
- YYDEBUG(269, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\'') goto yy193;
- if (yych <= '/') goto yy278;
- if (yych <= '9') goto yy193;
- goto yy278;
-yy270:
- YYDEBUG(270, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '"') goto yy193;
- if (yych <= '/') goto yy272;
- if (yych <= '9') goto yy193;
- goto yy272;
-yy271:
- YYDEBUG(271, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
-yy272:
- YYDEBUG(272, *YYCURSOR);
- if (yych <= 'Z') {
- if (yych <= '/') {
- if (yych != '"') goto yy193;
- } else {
- if (yych <= '9') goto yy271;
- if (yych <= '@') goto yy193;
- goto yy271;
- }
- } else {
- if (yych <= '`') {
- if (yych == '_') goto yy271;
- goto yy193;
- } else {
- if (yych <= 'z') goto yy271;
- if (yych <= '~') goto yy193;
- goto yy271;
- }
- }
-yy273:
- YYDEBUG(273, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy274;
- if (yych == '\r') goto yy276;
- goto yy193;
-yy274:
- YYDEBUG(274, *YYCURSOR);
- ++YYCURSOR;
-yy275:
- YYDEBUG(275, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1911 "Zend/zend_language_scanner.l"
- {
- char *s;
- int bprefix = (yytext[0] != '<') ? 1 : 0;
-
- /* save old heredoc label */
- Z_STRVAL_P(zendlval) = CG(heredoc);
- Z_STRLEN_P(zendlval) = CG(heredoc_len);
-
- CG(zend_lineno)++;
- CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
- s = yytext+bprefix+3;
- while ((*s == ' ') || (*s == '\t')) {
- s++;
- CG(heredoc_len)--;
- }
-
- if (*s == '\'') {
- s++;
- CG(heredoc_len) -= 2;
-
- BEGIN(ST_NOWDOC);
- } else {
- if (*s == '"') {
- s++;
- CG(heredoc_len) -= 2;
- }
-
- BEGIN(ST_HEREDOC);
- }
-
- CG(heredoc) = estrndup(s, CG(heredoc_len));
-
- /* Check for ending label on the next line */
- if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, CG(heredoc_len))) {
- YYCTYPE *end = YYCURSOR + CG(heredoc_len);
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- BEGIN(ST_END_HEREDOC);
- }
- }
-
- return T_START_HEREDOC;
-}
-#line 3753 "Zend/zend_language_scanner.c"
-yy276:
- YYDEBUG(276, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy274;
- goto yy275;
-yy277:
- YYDEBUG(277, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
-yy278:
- YYDEBUG(278, *YYCURSOR);
- if (yych <= 'Z') {
- if (yych <= '/') {
- if (yych == '\'') goto yy273;
- goto yy193;
- } else {
- if (yych <= '9') goto yy277;
- if (yych <= '@') goto yy193;
- goto yy277;
- }
- } else {
- if (yych <= '`') {
- if (yych == '_') goto yy277;
- goto yy193;
- } else {
- if (yych <= 'z') goto yy277;
- if (yych <= '~') goto yy193;
- goto yy277;
- }
- }
-yy279:
- YYDEBUG(279, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '=') goto yy255;
- YYDEBUG(280, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(281, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1197 "Zend/zend_language_scanner.l"
- {
- return T_IS_NOT_IDENTICAL;
-}
-#line 3797 "Zend/zend_language_scanner.c"
-yy282:
- YYDEBUG(282, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(283, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1217 "Zend/zend_language_scanner.l"
- {
- return T_PLUS_EQUAL;
-}
-#line 3807 "Zend/zend_language_scanner.c"
-yy284:
- YYDEBUG(284, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(285, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1185 "Zend/zend_language_scanner.l"
- {
- return T_INC;
-}
-#line 3817 "Zend/zend_language_scanner.c"
-yy286:
- YYDEBUG(286, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy287;
- if (yych != 's') goto yy186;
-yy287:
- YYDEBUG(287, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy288;
- if (yych != 't') goto yy186;
-yy288:
- YYDEBUG(288, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(289, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1177 "Zend/zend_language_scanner.l"
- {
- return T_LIST;
-}
-#line 3840 "Zend/zend_language_scanner.c"
-yy290:
- YYDEBUG(290, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy294;
- YYDEBUG(291, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1201 "Zend/zend_language_scanner.l"
- {
- return T_IS_EQUAL;
-}
-#line 3851 "Zend/zend_language_scanner.c"
-yy292:
- YYDEBUG(292, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(293, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1173 "Zend/zend_language_scanner.l"
- {
- return T_DOUBLE_ARROW;
-}
-#line 3861 "Zend/zend_language_scanner.c"
-yy294:
- YYDEBUG(294, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(295, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1193 "Zend/zend_language_scanner.l"
- {
- return T_IS_IDENTICAL;
-}
-#line 3871 "Zend/zend_language_scanner.c"
-yy296:
- YYDEBUG(296, *YYCURSOR);
- yych = *++YYCURSOR;
- YYDEBUG(-1, yych);
- switch (yych) {
- case 'C':
- case 'c': goto yy298;
- case 'D':
- case 'd': goto yy302;
- case 'F':
- case 'f': goto yy299;
- case 'H':
- case 'h': goto yy297;
- case 'L':
- case 'l': goto yy301;
- case 'M':
- case 'm': goto yy300;
- case 'N':
- case 'n': goto yy303;
- default: goto yy186;
- }
-yy297:
- YYDEBUG(297, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy357;
- if (yych == 'a') goto yy357;
- goto yy186;
-yy298:
- YYDEBUG(298, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy350;
- if (yych == 'l') goto yy350;
- goto yy186;
-yy299:
- YYDEBUG(299, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'U') {
- if (yych == 'I') goto yy334;
- if (yych <= 'T') goto yy186;
- goto yy335;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy186;
- goto yy334;
- } else {
- if (yych == 'u') goto yy335;
- goto yy186;
- }
- }
-yy300:
- YYDEBUG(300, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy326;
- if (yych == 'e') goto yy326;
- goto yy186;
-yy301:
- YYDEBUG(301, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy320;
- if (yych == 'i') goto yy320;
- goto yy186;
-yy302:
- YYDEBUG(302, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy315;
- if (yych == 'i') goto yy315;
- goto yy186;
-yy303:
- YYDEBUG(303, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy304;
- if (yych != 'a') goto yy186;
-yy304:
- YYDEBUG(304, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy305;
- if (yych != 'm') goto yy186;
-yy305:
- YYDEBUG(305, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy306;
- if (yych != 'e') goto yy186;
-yy306:
- YYDEBUG(306, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy307;
- if (yych != 's') goto yy186;
-yy307:
- YYDEBUG(307, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy308;
- if (yych != 'p') goto yy186;
-yy308:
- YYDEBUG(308, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy309;
- if (yych != 'a') goto yy186;
-yy309:
- YYDEBUG(309, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy310;
- if (yych != 'c') goto yy186;
-yy310:
- YYDEBUG(310, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy311;
- if (yych != 'e') goto yy186;
-yy311:
- YYDEBUG(311, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(312, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(313, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(314, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1501 "Zend/zend_language_scanner.l"
- {
- if (CG(current_namespace)) {
- *zendlval = *CG(current_namespace);
- zval_copy_ctor(zendlval);
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
- return T_NS_C;
-}
-#line 4003 "Zend/zend_language_scanner.c"
-yy315:
- YYDEBUG(315, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy316;
- if (yych != 'r') goto yy186;
-yy316:
- YYDEBUG(316, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(317, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(318, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(319, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1474 "Zend/zend_language_scanner.l"
- {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
- const size_t filename_len = strlen(filename);
- char *dirname;
-
- if (!filename) {
- filename = "";
- }
-
- dirname = estrndup(filename, filename_len);
- zend_dirname(dirname, filename_len);
-
- if (strcmp(dirname, ".") == 0) {
- dirname = erealloc(dirname, MAXPATHLEN);
-#if HAVE_GETCWD
- VCWD_GETCWD(dirname, MAXPATHLEN);
-#elif HAVE_GETWD
- VCWD_GETWD(dirname);
-#endif
- }
-
- zendlval->value.str.len = strlen(dirname);
- zendlval->value.str.val = dirname;
- zendlval->type = IS_STRING;
- return T_DIR;
-}
-#line 4050 "Zend/zend_language_scanner.c"
-yy320:
- YYDEBUG(320, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy321;
- if (yych != 'n') goto yy186;
-yy321:
- YYDEBUG(321, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy322;
- if (yych != 'e') goto yy186;
-yy322:
- YYDEBUG(322, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(323, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(324, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(325, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1456 "Zend/zend_language_scanner.l"
- {
- zendlval->value.lval = CG(zend_lineno);
- zendlval->type = IS_LONG;
- return T_LINE;
-}
-#line 4081 "Zend/zend_language_scanner.c"
-yy326:
- YYDEBUG(326, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy327;
- if (yych != 't') goto yy186;
-yy327:
- YYDEBUG(327, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy328;
- if (yych != 'h') goto yy186;
-yy328:
- YYDEBUG(328, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy329;
- if (yych != 'o') goto yy186;
-yy329:
- YYDEBUG(329, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy330;
- if (yych != 'd') goto yy186;
-yy330:
- YYDEBUG(330, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(331, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(332, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(333, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1435 "Zend/zend_language_scanner.l"
- {
- char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
- char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
- size_t len = 0;
-
- if (class_name) {
- len += strlen(class_name) + 2;
- }
- if (func_name) {
- len += strlen(func_name);
- }
-
- zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
- class_name ? class_name : "",
- class_name && func_name ? "::" : "",
- func_name ? func_name : ""
- );
- zendlval->type = IS_STRING;
- return T_METHOD_C;
-}
-#line 4137 "Zend/zend_language_scanner.c"
-yy334:
- YYDEBUG(334, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy345;
- if (yych == 'l') goto yy345;
- goto yy186;
-yy335:
- YYDEBUG(335, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy336;
- if (yych != 'n') goto yy186;
-yy336:
- YYDEBUG(336, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy337;
- if (yych != 'c') goto yy186;
-yy337:
- YYDEBUG(337, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy338;
- if (yych != 't') goto yy186;
-yy338:
- YYDEBUG(338, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy339;
- if (yych != 'i') goto yy186;
-yy339:
- YYDEBUG(339, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy340;
- if (yych != 'o') goto yy186;
-yy340:
- YYDEBUG(340, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy341;
- if (yych != 'n') goto yy186;
-yy341:
- YYDEBUG(341, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(342, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(343, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(344, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1419 "Zend/zend_language_scanner.l"
- {
- char *func_name = NULL;
-
- if (CG(active_op_array)) {
- func_name = CG(active_op_array)->function_name;
- }
-
- if (!func_name) {
- func_name = "";
- }
- zendlval->value.str.len = strlen(func_name);
- zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FUNC_C;
-}
-#line 4204 "Zend/zend_language_scanner.c"
-yy345:
- YYDEBUG(345, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy346;
- if (yych != 'e') goto yy186;
-yy346:
- YYDEBUG(346, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(347, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(348, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(349, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1462 "Zend/zend_language_scanner.l"
- {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
-
- if (!filename) {
- filename = "";
- }
- zendlval->value.str.len = strlen(filename);
- zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FILE;
-}
-#line 4236 "Zend/zend_language_scanner.c"
-yy350:
- YYDEBUG(350, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy351;
- if (yych != 'a') goto yy186;
-yy351:
- YYDEBUG(351, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy352;
- if (yych != 's') goto yy186;
-yy352:
- YYDEBUG(352, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy353;
- if (yych != 's') goto yy186;
-yy353:
- YYDEBUG(353, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(354, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(355, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(356, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1403 "Zend/zend_language_scanner.l"
- {
- char *class_name = NULL;
-
- if (CG(active_class_entry)) {
- class_name = CG(active_class_entry)->name;
- }
-
- if (!class_name) {
- class_name = "";
- }
- zendlval->value.str.len = strlen(class_name);
- zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_CLASS_C;
-}
-#line 4282 "Zend/zend_language_scanner.c"
-yy357:
- YYDEBUG(357, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy358;
- if (yych != 'l') goto yy186;
-yy358:
- YYDEBUG(358, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy359;
- if (yych != 't') goto yy186;
-yy359:
- YYDEBUG(359, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '_') goto yy186;
- YYDEBUG(360, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy361;
- if (yych != 'c') goto yy186;
-yy361:
- YYDEBUG(361, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy362;
- if (yych != 'o') goto yy186;
-yy362:
- YYDEBUG(362, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy363;
- if (yych != 'm') goto yy186;
-yy363:
- YYDEBUG(363, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy364;
- if (yych != 'p') goto yy186;
-yy364:
- YYDEBUG(364, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy365;
- if (yych != 'i') goto yy186;
-yy365:
- YYDEBUG(365, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy366;
- if (yych != 'l') goto yy186;
-yy366:
- YYDEBUG(366, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy367;
- if (yych != 'e') goto yy186;
-yy367:
- YYDEBUG(367, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy368;
- if (yych != 'r') goto yy186;
-yy368:
- YYDEBUG(368, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(369, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1141 "Zend/zend_language_scanner.l"
- {
- return T_HALT_COMPILER;
-}
-#line 4348 "Zend/zend_language_scanner.c"
-yy370:
- YYDEBUG(370, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy374;
- if (yych == 's') goto yy374;
- goto yy186;
-yy371:
- YYDEBUG(371, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy372;
- if (yych != 'e') goto yy186;
-yy372:
- YYDEBUG(372, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(373, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1125 "Zend/zend_language_scanner.l"
- {
- return T_USE;
-}
-#line 4372 "Zend/zend_language_scanner.c"
-yy374:
- YYDEBUG(374, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy375;
- if (yych != 'e') goto yy186;
-yy375:
- YYDEBUG(375, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy376;
- if (yych != 't') goto yy186;
-yy376:
- YYDEBUG(376, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(377, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1169 "Zend/zend_language_scanner.l"
- {
- return T_UNSET;
-}
-#line 4395 "Zend/zend_language_scanner.c"
-yy378:
- YYDEBUG(378, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(7);
- yych = *YYCURSOR;
-yy379:
- YYDEBUG(379, *YYCURSOR);
- if (yych <= 'S') {
- if (yych <= 'D') {
- if (yych <= ' ') {
- if (yych == '\t') goto yy378;
- if (yych <= 0x1F) goto yy193;
- goto yy378;
- } else {
- if (yych <= 'A') {
- if (yych <= '@') goto yy193;
- goto yy383;
- } else {
- if (yych <= 'B') goto yy381;
- if (yych <= 'C') goto yy193;
- goto yy386;
- }
- }
- } else {
- if (yych <= 'I') {
- if (yych == 'F') goto yy387;
- if (yych <= 'H') goto yy193;
- goto yy388;
- } else {
- if (yych <= 'O') {
- if (yych <= 'N') goto yy193;
- goto yy382;
- } else {
- if (yych <= 'Q') goto yy193;
- if (yych <= 'R') goto yy385;
- goto yy384;
- }
- }
- }
- } else {
- if (yych <= 'f') {
- if (yych <= 'a') {
- if (yych == 'U') goto yy380;
- if (yych <= '`') goto yy193;
- goto yy383;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy381;
- goto yy193;
- } else {
- if (yych <= 'd') goto yy386;
- if (yych <= 'e') goto yy193;
- goto yy387;
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy193;
- goto yy388;
- } else {
- if (yych == 'o') goto yy382;
- goto yy193;
- }
- } else {
- if (yych <= 's') {
- if (yych <= 'r') goto yy385;
- goto yy384;
- } else {
- if (yych != 'u') goto yy193;
- }
- }
- }
- }
-yy380:
- YYDEBUG(380, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy451;
- if (yych == 'n') goto yy451;
- goto yy193;
-yy381:
- YYDEBUG(381, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'I') goto yy434;
- if (yych <= 'N') goto yy193;
- goto yy435;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy193;
- goto yy434;
- } else {
- if (yych == 'o') goto yy435;
- goto yy193;
- }
- }
-yy382:
- YYDEBUG(382, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy426;
- if (yych == 'b') goto yy426;
- goto yy193;
-yy383:
- YYDEBUG(383, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy419;
- if (yych == 'r') goto yy419;
- goto yy193;
-yy384:
- YYDEBUG(384, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy411;
- if (yych == 't') goto yy411;
- goto yy193;
-yy385:
- YYDEBUG(385, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy409;
- if (yych == 'e') goto yy409;
- goto yy193;
-yy386:
- YYDEBUG(386, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy405;
- if (yych == 'o') goto yy405;
- goto yy193;
-yy387:
- YYDEBUG(387, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy398;
- if (yych == 'l') goto yy398;
- goto yy193;
-yy388:
- YYDEBUG(388, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy389;
- if (yych != 'n') goto yy193;
-yy389:
- YYDEBUG(389, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy390;
- if (yych != 't') goto yy193;
-yy390:
- YYDEBUG(390, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy391;
- if (yych != 'e') goto yy393;
-yy391:
- YYDEBUG(391, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy396;
- if (yych == 'g') goto yy396;
- goto yy193;
-yy392:
- YYDEBUG(392, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy393:
- YYDEBUG(393, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy392;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy392;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(394, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(395, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1069 "Zend/zend_language_scanner.l"
- {
- return T_INT_CAST;
-}
-#line 4571 "Zend/zend_language_scanner.c"
-yy396:
- YYDEBUG(396, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy397;
- if (yych != 'e') goto yy193;
-yy397:
- YYDEBUG(397, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy392;
- if (yych == 'r') goto yy392;
- goto yy193;
-yy398:
- YYDEBUG(398, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy399;
- if (yych != 'o') goto yy193;
-yy399:
- YYDEBUG(399, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy400;
- if (yych != 'a') goto yy193;
-yy400:
- YYDEBUG(400, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy401;
- if (yych != 't') goto yy193;
-yy401:
- YYDEBUG(401, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(402, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy401;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy401;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(403, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(404, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1073 "Zend/zend_language_scanner.l"
- {
- return T_DOUBLE_CAST;
-}
-#line 4619 "Zend/zend_language_scanner.c"
-yy405:
- YYDEBUG(405, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy406;
- if (yych != 'u') goto yy193;
-yy406:
- YYDEBUG(406, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy407;
- if (yych != 'b') goto yy193;
-yy407:
- YYDEBUG(407, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy408;
- if (yych != 'l') goto yy193;
-yy408:
- YYDEBUG(408, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy401;
- if (yych == 'e') goto yy401;
- goto yy193;
-yy409:
- YYDEBUG(409, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy410;
- if (yych != 'a') goto yy193;
-yy410:
- YYDEBUG(410, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy401;
- if (yych == 'l') goto yy401;
- goto yy193;
-yy411:
- YYDEBUG(411, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy412;
- if (yych != 'r') goto yy193;
-yy412:
- YYDEBUG(412, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy413;
- if (yych != 'i') goto yy193;
-yy413:
- YYDEBUG(413, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy414;
- if (yych != 'n') goto yy193;
-yy414:
- YYDEBUG(414, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy415;
- if (yych != 'g') goto yy193;
-yy415:
- YYDEBUG(415, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(416, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy415;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy415;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(417, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(418, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1077 "Zend/zend_language_scanner.l"
- {
- return T_STRING_CAST;
-}
-#line 4693 "Zend/zend_language_scanner.c"
-yy419:
- YYDEBUG(419, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy420;
- if (yych != 'r') goto yy193;
-yy420:
- YYDEBUG(420, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy421;
- if (yych != 'a') goto yy193;
-yy421:
- YYDEBUG(421, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy422;
- if (yych != 'y') goto yy193;
-yy422:
- YYDEBUG(422, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(423, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy422;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy422;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(424, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(425, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1085 "Zend/zend_language_scanner.l"
- {
- return T_ARRAY_CAST;
-}
-#line 4730 "Zend/zend_language_scanner.c"
-yy426:
- YYDEBUG(426, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'J') goto yy427;
- if (yych != 'j') goto yy193;
-yy427:
- YYDEBUG(427, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy428;
- if (yych != 'e') goto yy193;
-yy428:
- YYDEBUG(428, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy429;
- if (yych != 'c') goto yy193;
-yy429:
- YYDEBUG(429, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy430;
- if (yych != 't') goto yy193;
-yy430:
- YYDEBUG(430, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(431, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy430;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy430;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(432, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(433, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1089 "Zend/zend_language_scanner.l"
- {
- return T_OBJECT_CAST;
-}
-#line 4772 "Zend/zend_language_scanner.c"
-yy434:
- YYDEBUG(434, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy444;
- if (yych == 'n') goto yy444;
- goto yy193;
-yy435:
- YYDEBUG(435, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy436;
- if (yych != 'o') goto yy193;
-yy436:
- YYDEBUG(436, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy437;
- if (yych != 'l') goto yy193;
-yy437:
- YYDEBUG(437, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy442;
- if (yych == 'e') goto yy442;
- goto yy439;
-yy438:
- YYDEBUG(438, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy439:
- YYDEBUG(439, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy438;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy438;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(440, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(441, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1093 "Zend/zend_language_scanner.l"
- {
- return T_BOOL_CAST;
-}
-#line 4817 "Zend/zend_language_scanner.c"
-yy442:
- YYDEBUG(442, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy443;
- if (yych != 'a') goto yy193;
-yy443:
- YYDEBUG(443, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy438;
- if (yych == 'n') goto yy438;
- goto yy193;
-yy444:
- YYDEBUG(444, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy445;
- if (yych != 'a') goto yy193;
-yy445:
- YYDEBUG(445, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy446;
- if (yych != 'r') goto yy193;
-yy446:
- YYDEBUG(446, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy447;
- if (yych != 'y') goto yy193;
-yy447:
- YYDEBUG(447, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(448, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy447;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy447;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(449, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(450, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1081 "Zend/zend_language_scanner.l"
- {
- return T_STRING_CAST;
-}
-#line 4865 "Zend/zend_language_scanner.c"
-yy451:
- YYDEBUG(451, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy452;
- if (yych != 's') goto yy193;
-yy452:
- YYDEBUG(452, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy453;
- if (yych != 'e') goto yy193;
-yy453:
- YYDEBUG(453, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy454;
- if (yych != 't') goto yy193;
-yy454:
- YYDEBUG(454, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(455, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy454;
- goto yy193;
- } else {
- if (yych <= ' ') goto yy454;
- if (yych != ')') goto yy193;
- }
- YYDEBUG(456, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(457, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1097 "Zend/zend_language_scanner.l"
- {
- return T_UNSET_CAST;
-}
-#line 4902 "Zend/zend_language_scanner.c"
-yy458:
- YYDEBUG(458, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy459;
- if (yych != 'r') goto yy186;
-yy459:
- YYDEBUG(459, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(460, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1065 "Zend/zend_language_scanner.l"
- {
- return T_VAR;
-}
-#line 4920 "Zend/zend_language_scanner.c"
-yy461:
- YYDEBUG(461, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy465;
- if (yych == 'm') goto yy465;
- goto yy186;
-yy462:
- YYDEBUG(462, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy463;
- if (yych != 'w') goto yy186;
-yy463:
- YYDEBUG(463, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(464, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1057 "Zend/zend_language_scanner.l"
- {
- return T_NEW;
-}
-#line 4944 "Zend/zend_language_scanner.c"
-yy465:
- YYDEBUG(465, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy466;
- if (yych != 'e') goto yy186;
-yy466:
- YYDEBUG(466, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy467;
- if (yych != 's') goto yy186;
-yy467:
- YYDEBUG(467, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy468;
- if (yych != 'p') goto yy186;
-yy468:
- YYDEBUG(468, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy469;
- if (yych != 'a') goto yy186;
-yy469:
- YYDEBUG(469, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy470;
- if (yych != 'c') goto yy186;
-yy470:
- YYDEBUG(470, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy471;
- if (yych != 'e') goto yy186;
-yy471:
- YYDEBUG(471, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(472, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1121 "Zend/zend_language_scanner.l"
- {
- return T_NAMESPACE;
-}
-#line 4987 "Zend/zend_language_scanner.c"
-yy473:
- YYDEBUG(473, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(474, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1049 "Zend/zend_language_scanner.l"
- {
- return T_PAAMAYIM_NEKUDOTAYIM;
-}
-#line 4997 "Zend/zend_language_scanner.c"
-yy475:
- YYDEBUG(475, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy476:
- YYDEBUG(476, *YYCURSOR);
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy140;
- if (yych <= '\n') goto yy475;
- goto yy140;
- } else {
- if (yych <= '\r') goto yy475;
- if (yych == ' ') goto yy475;
- goto yy140;
- }
-yy477:
- YYDEBUG(477, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(478, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1221 "Zend/zend_language_scanner.l"
- {
- return T_MINUS_EQUAL;
-}
-#line 5023 "Zend/zend_language_scanner.c"
-yy479:
- YYDEBUG(479, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(480, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1189 "Zend/zend_language_scanner.l"
- {
- return T_DEC;
-}
-#line 5033 "Zend/zend_language_scanner.c"
-yy481:
- YYDEBUG(481, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(482, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1019 "Zend/zend_language_scanner.l"
- {
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- return T_OBJECT_OPERATOR;
-}
-#line 5044 "Zend/zend_language_scanner.c"
-yy483:
- YYDEBUG(483, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'I') goto yy490;
- if (yych <= 'N') goto yy186;
- goto yy491;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy186;
- goto yy490;
- } else {
- if (yych == 'o') goto yy491;
- goto yy186;
- }
- }
-yy484:
- YYDEBUG(484, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy485;
- if (yych != 'b') goto yy186;
-yy485:
- YYDEBUG(485, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy486;
- if (yych != 'l') goto yy186;
-yy486:
- YYDEBUG(486, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy487;
- if (yych != 'i') goto yy186;
-yy487:
- YYDEBUG(487, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy488;
- if (yych != 'c') goto yy186;
-yy488:
- YYDEBUG(488, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(489, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1165 "Zend/zend_language_scanner.l"
- {
- return T_PUBLIC;
-}
-#line 5093 "Zend/zend_language_scanner.c"
-yy490:
- YYDEBUG(490, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'V') {
- if (yych == 'N') goto yy499;
- if (yych <= 'U') goto yy186;
- goto yy500;
- } else {
- if (yych <= 'n') {
- if (yych <= 'm') goto yy186;
- goto yy499;
- } else {
- if (yych == 'v') goto yy500;
- goto yy186;
- }
- }
-yy491:
- YYDEBUG(491, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy492;
- if (yych != 't') goto yy186;
-yy492:
- YYDEBUG(492, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy493;
- if (yych != 'e') goto yy186;
-yy493:
- YYDEBUG(493, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy494;
- if (yych != 'c') goto yy186;
-yy494:
- YYDEBUG(494, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy495;
- if (yych != 't') goto yy186;
-yy495:
- YYDEBUG(495, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy496;
- if (yych != 'e') goto yy186;
-yy496:
- YYDEBUG(496, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy497;
- if (yych != 'd') goto yy186;
-yy497:
- YYDEBUG(497, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(498, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1161 "Zend/zend_language_scanner.l"
- {
- return T_PROTECTED;
-}
-#line 5152 "Zend/zend_language_scanner.c"
-yy499:
- YYDEBUG(499, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy505;
- if (yych == 't') goto yy505;
- goto yy186;
-yy500:
- YYDEBUG(500, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy501;
- if (yych != 'a') goto yy186;
-yy501:
- YYDEBUG(501, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy502;
- if (yych != 't') goto yy186;
-yy502:
- YYDEBUG(502, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy503;
- if (yych != 'e') goto yy186;
-yy503:
- YYDEBUG(503, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(504, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1157 "Zend/zend_language_scanner.l"
- {
- return T_PRIVATE;
-}
-#line 5186 "Zend/zend_language_scanner.c"
-yy505:
- YYDEBUG(505, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(506, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 999 "Zend/zend_language_scanner.l"
- {
- return T_PRINT;
-}
-#line 5199 "Zend/zend_language_scanner.c"
-yy507:
- YYDEBUG(507, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy512;
- if (yych == 'o') goto yy512;
- goto yy186;
-yy508:
- YYDEBUG(508, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy509;
- if (yych != 't') goto yy186;
-yy509:
- YYDEBUG(509, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy510;
- if (yych != 'o') goto yy186;
-yy510:
- YYDEBUG(510, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(511, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 991 "Zend/zend_language_scanner.l"
- {
- return T_GOTO;
-}
-#line 5228 "Zend/zend_language_scanner.c"
-yy512:
- YYDEBUG(512, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy513;
- if (yych != 'b') goto yy186;
-yy513:
- YYDEBUG(513, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy514;
- if (yych != 'a') goto yy186;
-yy514:
- YYDEBUG(514, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy515;
- if (yych != 'l') goto yy186;
-yy515:
- YYDEBUG(515, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(516, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1129 "Zend/zend_language_scanner.l"
- {
- return T_GLOBAL;
-}
-#line 5256 "Zend/zend_language_scanner.c"
-yy517:
- YYDEBUG(517, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '<') goto yy525;
- goto yy193;
-yy518:
- YYDEBUG(518, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy180;
-yy519:
- YYDEBUG(519, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy178;
-yy520:
- YYDEBUG(520, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy521;
- if (yych != 'e') goto yy186;
-yy521:
- YYDEBUG(521, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy522;
- if (yych != 'a') goto yy186;
-yy522:
- YYDEBUG(522, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy523;
- if (yych != 'k') goto yy186;
-yy523:
- YYDEBUG(523, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(524, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 983 "Zend/zend_language_scanner.l"
- {
- return T_BREAK;
-}
-#line 5297 "Zend/zend_language_scanner.c"
-yy525:
- YYDEBUG(525, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '<') goto yy265;
- goto yy193;
-yy526:
- YYDEBUG(526, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy533;
- if (yych == 'a') goto yy533;
- goto yy186;
-yy527:
- YYDEBUG(527, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy528;
- if (yych != 'i') goto yy186;
-yy528:
- YYDEBUG(528, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy529;
- if (yych != 't') goto yy186;
-yy529:
- YYDEBUG(529, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy530;
- if (yych != 'c') goto yy186;
-yy530:
- YYDEBUG(530, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy531;
- if (yych != 'h') goto yy186;
-yy531:
- YYDEBUG(531, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(532, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 967 "Zend/zend_language_scanner.l"
- {
- return T_SWITCH;
-}
-#line 5341 "Zend/zend_language_scanner.c"
-yy533:
- YYDEBUG(533, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy534;
- if (yych != 't') goto yy186;
-yy534:
- YYDEBUG(534, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy535;
- if (yych != 'i') goto yy186;
-yy535:
- YYDEBUG(535, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy536;
- if (yych != 'c') goto yy186;
-yy536:
- YYDEBUG(536, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(537, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1145 "Zend/zend_language_scanner.l"
- {
- return T_STATIC;
-}
-#line 5369 "Zend/zend_language_scanner.c"
-yy538:
- YYDEBUG(538, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy549;
- if (yych == 's') goto yy549;
- goto yy186;
-yy539:
- YYDEBUG(539, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy547;
- if (yych == 'd') goto yy547;
- goto yy186;
-yy540:
- YYDEBUG(540, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy543;
- if (yych == 'r') goto yy543;
- goto yy186;
-yy541:
- YYDEBUG(541, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(542, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 963 "Zend/zend_language_scanner.l"
- {
- return T_AS;
-}
-#line 5400 "Zend/zend_language_scanner.c"
-yy543:
- YYDEBUG(543, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy544;
- if (yych != 'a') goto yy186;
-yy544:
- YYDEBUG(544, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy545;
- if (yych != 'y') goto yy186;
-yy545:
- YYDEBUG(545, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(546, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1181 "Zend/zend_language_scanner.l"
- {
- return T_ARRAY;
-}
-#line 5423 "Zend/zend_language_scanner.c"
-yy547:
- YYDEBUG(547, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(548, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1273 "Zend/zend_language_scanner.l"
- {
- return T_LOGICAL_AND;
-}
-#line 5436 "Zend/zend_language_scanner.c"
-yy549:
- YYDEBUG(549, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy550;
- if (yych != 't') goto yy186;
-yy550:
- YYDEBUG(550, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy551;
- if (yych != 'r') goto yy186;
-yy551:
- YYDEBUG(551, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy552;
- if (yych != 'a') goto yy186;
-yy552:
- YYDEBUG(552, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy553;
- if (yych != 'c') goto yy186;
-yy553:
- YYDEBUG(553, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy554;
- if (yych != 't') goto yy186;
-yy554:
- YYDEBUG(554, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(555, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1149 "Zend/zend_language_scanner.l"
- {
- return T_ABSTRACT;
-}
-#line 5474 "Zend/zend_language_scanner.c"
-yy556:
- YYDEBUG(556, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy557;
- if (yych != 'i') goto yy186;
-yy557:
- YYDEBUG(557, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy558;
- if (yych != 'l') goto yy186;
-yy558:
- YYDEBUG(558, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy559;
- if (yych != 'e') goto yy186;
-yy559:
- YYDEBUG(559, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(560, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 923 "Zend/zend_language_scanner.l"
- {
- return T_WHILE;
-}
-#line 5502 "Zend/zend_language_scanner.c"
-yy561:
- YYDEBUG(561, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(562, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 907 "Zend/zend_language_scanner.l"
- {
- return T_IF;
-}
-#line 5515 "Zend/zend_language_scanner.c"
-yy563:
- YYDEBUG(563, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy599;
- if (yych == 'p') goto yy599;
- goto yy186;
-yy564:
- YYDEBUG(564, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych <= 'C') {
- if (yych <= 'B') goto yy186;
- goto yy572;
- } else {
- if (yych <= 'R') goto yy186;
- if (yych <= 'S') goto yy570;
- goto yy571;
- }
- } else {
- if (yych <= 'r') {
- if (yych == 'c') goto yy572;
- goto yy186;
- } else {
- if (yych <= 's') goto yy570;
- if (yych <= 't') goto yy571;
- goto yy186;
- }
- }
-yy565:
- YYDEBUG(565, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy566;
- if (yych != 's') goto yy186;
-yy566:
- YYDEBUG(566, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy567;
- if (yych != 'e') goto yy186;
-yy567:
- YYDEBUG(567, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy568;
- if (yych != 't') goto yy186;
-yy568:
- YYDEBUG(568, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(569, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1133 "Zend/zend_language_scanner.l"
- {
- return T_ISSET;
-}
-#line 5571 "Zend/zend_language_scanner.c"
-yy570:
- YYDEBUG(570, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy591;
- if (yych == 't') goto yy591;
- goto yy186;
-yy571:
- YYDEBUG(571, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy584;
- if (yych == 'e') goto yy584;
- goto yy186;
-yy572:
- YYDEBUG(572, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy573;
- if (yych != 'l') goto yy186;
-yy573:
- YYDEBUG(573, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy574;
- if (yych != 'u') goto yy186;
-yy574:
- YYDEBUG(574, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy575;
- if (yych != 'd') goto yy186;
-yy575:
- YYDEBUG(575, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy576;
- if (yych != 'e') goto yy186;
-yy576:
- YYDEBUG(576, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '^') {
- if (yych <= '9') {
- if (yych >= '0') goto yy185;
- } else {
- if (yych <= '@') goto yy577;
- if (yych <= 'Z') goto yy185;
- }
- } else {
- if (yych <= '`') {
- if (yych <= '_') goto yy578;
- } else {
- if (yych <= 'z') goto yy185;
- if (yych >= 0x7F) goto yy185;
- }
- }
-yy577:
- YYDEBUG(577, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1105 "Zend/zend_language_scanner.l"
- {
- return T_INCLUDE;
-}
-#line 5629 "Zend/zend_language_scanner.c"
-yy578:
- YYDEBUG(578, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy579;
- if (yych != 'o') goto yy186;
-yy579:
- YYDEBUG(579, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy580;
- if (yych != 'n') goto yy186;
-yy580:
- YYDEBUG(580, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy581;
- if (yych != 'c') goto yy186;
-yy581:
- YYDEBUG(581, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy582;
- if (yych != 'e') goto yy186;
-yy582:
- YYDEBUG(582, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(583, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1109 "Zend/zend_language_scanner.l"
- {
- return T_INCLUDE_ONCE;
-}
-#line 5662 "Zend/zend_language_scanner.c"
-yy584:
- YYDEBUG(584, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy585;
- if (yych != 'r') goto yy186;
-yy585:
- YYDEBUG(585, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy586;
- if (yych != 'f') goto yy186;
-yy586:
- YYDEBUG(586, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy587;
- if (yych != 'a') goto yy186;
-yy587:
- YYDEBUG(587, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy588;
- if (yych != 'c') goto yy186;
-yy588:
- YYDEBUG(588, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy589;
- if (yych != 'e') goto yy186;
-yy589:
- YYDEBUG(589, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(590, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1007 "Zend/zend_language_scanner.l"
- {
- return T_INTERFACE;
-}
-#line 5700 "Zend/zend_language_scanner.c"
-yy591:
- YYDEBUG(591, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy592;
- if (yych != 'a') goto yy186;
-yy592:
- YYDEBUG(592, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy593;
- if (yych != 'n') goto yy186;
-yy593:
- YYDEBUG(593, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy594;
- if (yych != 'c') goto yy186;
-yy594:
- YYDEBUG(594, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy595;
- if (yych != 'e') goto yy186;
-yy595:
- YYDEBUG(595, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy596;
- if (yych != 'o') goto yy186;
-yy596:
- YYDEBUG(596, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy597;
- if (yych != 'f') goto yy186;
-yy597:
- YYDEBUG(597, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(598, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 959 "Zend/zend_language_scanner.l"
- {
- return T_INSTANCEOF;
-}
-#line 5743 "Zend/zend_language_scanner.c"
-yy599:
- YYDEBUG(599, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy600;
- if (yych != 'l') goto yy186;
-yy600:
- YYDEBUG(600, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy601;
- if (yych != 'e') goto yy186;
-yy601:
- YYDEBUG(601, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy602;
- if (yych != 'm') goto yy186;
-yy602:
- YYDEBUG(602, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy603;
- if (yych != 'e') goto yy186;
-yy603:
- YYDEBUG(603, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy604;
- if (yych != 'n') goto yy186;
-yy604:
- YYDEBUG(604, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy605;
- if (yych != 't') goto yy186;
-yy605:
- YYDEBUG(605, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy606;
- if (yych != 's') goto yy186;
-yy606:
- YYDEBUG(606, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(607, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1015 "Zend/zend_language_scanner.l"
- {
- return T_IMPLEMENTS;
-}
-#line 5791 "Zend/zend_language_scanner.c"
-yy608:
- YYDEBUG(608, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy612;
- if (yych == 'r') goto yy612;
- goto yy186;
-yy609:
- YYDEBUG(609, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy610;
- if (yych != 'y') goto yy186;
-yy610:
- YYDEBUG(610, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(611, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 895 "Zend/zend_language_scanner.l"
- {
- return T_TRY;
-}
-#line 5815 "Zend/zend_language_scanner.c"
-yy612:
- YYDEBUG(612, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy613;
- if (yych != 'o') goto yy186;
-yy613:
- YYDEBUG(613, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy614;
- if (yych != 'w') goto yy186;
-yy614:
- YYDEBUG(614, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(615, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 903 "Zend/zend_language_scanner.l"
- {
- return T_THROW;
-}
-#line 5838 "Zend/zend_language_scanner.c"
-yy616:
- YYDEBUG(616, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych == 'Q') goto yy618;
- if (yych <= 'S') goto yy186;
- } else {
- if (yych <= 'q') {
- if (yych <= 'p') goto yy186;
- goto yy618;
- } else {
- if (yych != 't') goto yy186;
- }
- }
- YYDEBUG(617, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy630;
- if (yych == 'u') goto yy630;
- goto yy186;
-yy618:
- YYDEBUG(618, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy619;
- if (yych != 'u') goto yy186;
-yy619:
- YYDEBUG(619, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy620;
- if (yych != 'i') goto yy186;
-yy620:
- YYDEBUG(620, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy621;
- if (yych != 'r') goto yy186;
-yy621:
- YYDEBUG(621, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy622;
- if (yych != 'e') goto yy186;
-yy622:
- YYDEBUG(622, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '^') {
- if (yych <= '9') {
- if (yych >= '0') goto yy185;
- } else {
- if (yych <= '@') goto yy623;
- if (yych <= 'Z') goto yy185;
- }
- } else {
- if (yych <= '`') {
- if (yych <= '_') goto yy624;
- } else {
- if (yych <= 'z') goto yy185;
- if (yych >= 0x7F) goto yy185;
- }
- }
-yy623:
- YYDEBUG(623, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1113 "Zend/zend_language_scanner.l"
- {
- return T_REQUIRE;
-}
-#line 5903 "Zend/zend_language_scanner.c"
-yy624:
- YYDEBUG(624, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy625;
- if (yych != 'o') goto yy186;
-yy625:
- YYDEBUG(625, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy626;
- if (yych != 'n') goto yy186;
-yy626:
- YYDEBUG(626, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy627;
- if (yych != 'c') goto yy186;
-yy627:
- YYDEBUG(627, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy628;
- if (yych != 'e') goto yy186;
-yy628:
- YYDEBUG(628, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(629, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1117 "Zend/zend_language_scanner.l"
- {
- return T_REQUIRE_ONCE;
-}
-#line 5936 "Zend/zend_language_scanner.c"
-yy630:
- YYDEBUG(630, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy631;
- if (yych != 'r') goto yy186;
-yy631:
- YYDEBUG(631, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy632;
- if (yych != 'n') goto yy186;
-yy632:
- YYDEBUG(632, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(633, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 891 "Zend/zend_language_scanner.l"
- {
- return T_RETURN;
-}
-#line 5959 "Zend/zend_language_scanner.c"
-yy634:
- YYDEBUG(634, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych <= 'R') goto yy186;
- if (yych <= 'S') goto yy656;
- goto yy655;
- } else {
- if (yych <= 'r') goto yy186;
- if (yych <= 's') goto yy656;
- if (yych <= 't') goto yy655;
- goto yy186;
- }
-yy635:
- YYDEBUG(635, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'O') {
- if (yych == 'A') goto yy647;
- if (yych <= 'N') goto yy186;
- goto yy648;
- } else {
- if (yych <= 'a') {
- if (yych <= '`') goto yy186;
- goto yy647;
- } else {
- if (yych == 'o') goto yy648;
- goto yy186;
- }
- }
-yy636:
- YYDEBUG(636, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy637;
- if (yych != 'n') goto yy186;
-yy637:
- YYDEBUG(637, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych <= 'R') goto yy186;
- if (yych >= 'T') goto yy639;
- } else {
- if (yych <= 'r') goto yy186;
- if (yych <= 's') goto yy638;
- if (yych <= 't') goto yy639;
- goto yy186;
- }
-yy638:
- YYDEBUG(638, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy645;
- if (yych == 't') goto yy645;
- goto yy186;
-yy639:
- YYDEBUG(639, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy640;
- if (yych != 'i') goto yy186;
-yy640:
- YYDEBUG(640, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy641;
- if (yych != 'n') goto yy186;
-yy641:
- YYDEBUG(641, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy642;
- if (yych != 'u') goto yy186;
-yy642:
- YYDEBUG(642, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy643;
- if (yych != 'e') goto yy186;
-yy643:
- YYDEBUG(643, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(644, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 987 "Zend/zend_language_scanner.l"
- {
- return T_CONTINUE;
-}
-#line 6044 "Zend/zend_language_scanner.c"
-yy645:
- YYDEBUG(645, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(646, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 887 "Zend/zend_language_scanner.l"
- {
- return T_CONST;
-}
-#line 6057 "Zend/zend_language_scanner.c"
-yy647:
- YYDEBUG(647, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy652;
- if (yych == 's') goto yy652;
- goto yy186;
-yy648:
- YYDEBUG(648, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy649;
- if (yych != 'n') goto yy186;
-yy649:
- YYDEBUG(649, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy650;
- if (yych != 'e') goto yy186;
-yy650:
- YYDEBUG(650, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(651, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1061 "Zend/zend_language_scanner.l"
- {
- return T_CLONE;
-}
-#line 6086 "Zend/zend_language_scanner.c"
-yy652:
- YYDEBUG(652, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy653;
- if (yych != 's') goto yy186;
-yy653:
- YYDEBUG(653, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(654, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1003 "Zend/zend_language_scanner.l"
- {
- return T_CLASS;
-}
-#line 6104 "Zend/zend_language_scanner.c"
-yy655:
- YYDEBUG(655, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy659;
- if (yych == 'c') goto yy659;
- goto yy186;
-yy656:
- YYDEBUG(656, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy657;
- if (yych != 'e') goto yy186;
-yy657:
- YYDEBUG(657, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(658, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 975 "Zend/zend_language_scanner.l"
- {
- return T_CASE;
-}
-#line 6128 "Zend/zend_language_scanner.c"
-yy659:
- YYDEBUG(659, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy660;
- if (yych != 'h') goto yy186;
-yy660:
- YYDEBUG(660, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(661, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 899 "Zend/zend_language_scanner.l"
- {
- return T_CATCH;
-}
-#line 6146 "Zend/zend_language_scanner.c"
-yy662:
- YYDEBUG(662, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy679;
- if (yych == 'n') goto yy679;
- goto yy186;
-yy663:
- YYDEBUG(663, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy672;
- if (yych == 'r') goto yy672;
- goto yy186;
-yy664:
- YYDEBUG(664, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy665;
- if (yych != 'n') goto yy186;
-yy665:
- YYDEBUG(665, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy666;
- if (yych != 'c') goto yy186;
-yy666:
- YYDEBUG(666, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy667;
- if (yych != 't') goto yy186;
-yy667:
- YYDEBUG(667, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy668;
- if (yych != 'i') goto yy186;
-yy668:
- YYDEBUG(668, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy669;
- if (yych != 'o') goto yy186;
-yy669:
- YYDEBUG(669, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy670;
- if (yych != 'n') goto yy186;
-yy670:
- YYDEBUG(670, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(671, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 883 "Zend/zend_language_scanner.l"
- {
- return T_FUNCTION;
-}
-#line 6201 "Zend/zend_language_scanner.c"
-yy672:
- YYDEBUG(672, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '^') {
- if (yych <= '@') {
- if (yych <= '/') goto yy673;
- if (yych <= '9') goto yy185;
- } else {
- if (yych == 'E') goto yy674;
- if (yych <= 'Z') goto yy185;
- }
- } else {
- if (yych <= 'd') {
- if (yych != '`') goto yy185;
- } else {
- if (yych <= 'e') goto yy674;
- if (yych <= 'z') goto yy185;
- if (yych >= 0x7F) goto yy185;
- }
- }
-yy673:
- YYDEBUG(673, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 935 "Zend/zend_language_scanner.l"
- {
- return T_FOR;
-}
-#line 6229 "Zend/zend_language_scanner.c"
-yy674:
- YYDEBUG(674, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy675;
- if (yych != 'a') goto yy186;
-yy675:
- YYDEBUG(675, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy676;
- if (yych != 'c') goto yy186;
-yy676:
- YYDEBUG(676, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy677;
- if (yych != 'h') goto yy186;
-yy677:
- YYDEBUG(677, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(678, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 943 "Zend/zend_language_scanner.l"
- {
- return T_FOREACH;
-}
-#line 6257 "Zend/zend_language_scanner.c"
-yy679:
- YYDEBUG(679, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy680;
- if (yych != 'a') goto yy186;
-yy680:
- YYDEBUG(680, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy681;
- if (yych != 'l') goto yy186;
-yy681:
- YYDEBUG(681, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(682, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1153 "Zend/zend_language_scanner.l"
- {
- return T_FINAL;
-}
-#line 6280 "Zend/zend_language_scanner.c"
-yy683:
- YYDEBUG(683, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'F') {
- if (yych == 'C') goto yy689;
- if (yych <= 'E') goto yy186;
- goto yy690;
- } else {
- if (yych <= 'c') {
- if (yych <= 'b') goto yy186;
- goto yy689;
- } else {
- if (yych == 'f') goto yy690;
- goto yy186;
- }
- }
-yy684:
- YYDEBUG(684, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy687;
- if (yych == 'e') goto yy687;
- goto yy186;
-yy685:
- YYDEBUG(685, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(686, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 931 "Zend/zend_language_scanner.l"
- {
- return T_DO;
-}
-#line 6315 "Zend/zend_language_scanner.c"
-yy687:
- YYDEBUG(687, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(688, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 879 "Zend/zend_language_scanner.l"
- {
- return T_EXIT;
-}
-#line 6328 "Zend/zend_language_scanner.c"
-yy689:
- YYDEBUG(689, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy696;
- if (yych == 'l') goto yy696;
- goto yy186;
-yy690:
- YYDEBUG(690, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy691;
- if (yych != 'a') goto yy186;
-yy691:
- YYDEBUG(691, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy692;
- if (yych != 'u') goto yy186;
-yy692:
- YYDEBUG(692, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy693;
- if (yych != 'l') goto yy186;
-yy693:
- YYDEBUG(693, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy694;
- if (yych != 't') goto yy186;
-yy694:
- YYDEBUG(694, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(695, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 979 "Zend/zend_language_scanner.l"
- {
- return T_DEFAULT;
-}
-#line 6367 "Zend/zend_language_scanner.c"
-yy696:
- YYDEBUG(696, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy697;
- if (yych != 'a') goto yy186;
-yy697:
- YYDEBUG(697, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy698;
- if (yych != 'r') goto yy186;
-yy698:
- YYDEBUG(698, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy699;
- if (yych != 'e') goto yy186;
-yy699:
- YYDEBUG(699, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(700, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 951 "Zend/zend_language_scanner.l"
- {
- return T_DECLARE;
-}
-#line 6395 "Zend/zend_language_scanner.c"
-yy701:
- YYDEBUG(701, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy763;
- if (yych == 'h') goto yy763;
- goto yy186;
-yy702:
- YYDEBUG(702, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy757;
- if (yych == 's') goto yy757;
- goto yy186;
-yy703:
- YYDEBUG(703, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy753;
- if (yych == 'p') goto yy753;
- goto yy186;
-yy704:
- YYDEBUG(704, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy719;
- if (yych == 'd') goto yy719;
- goto yy186;
-yy705:
- YYDEBUG(705, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy716;
- if (yych == 'a') goto yy716;
- goto yy186;
-yy706:
- YYDEBUG(706, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych == 'I') goto yy707;
- if (yych <= 'S') goto yy186;
- goto yy708;
- } else {
- if (yych <= 'i') {
- if (yych <= 'h') goto yy186;
- } else {
- if (yych == 't') goto yy708;
- goto yy186;
- }
- }
-yy707:
- YYDEBUG(707, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy714;
- if (yych == 't') goto yy714;
- goto yy186;
-yy708:
- YYDEBUG(708, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy709;
- if (yych != 'e') goto yy186;
-yy709:
- YYDEBUG(709, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy710;
- if (yych != 'n') goto yy186;
-yy710:
- YYDEBUG(710, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy711;
- if (yych != 'd') goto yy186;
-yy711:
- YYDEBUG(711, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy712;
- if (yych != 's') goto yy186;
-yy712:
- YYDEBUG(712, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(713, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1011 "Zend/zend_language_scanner.l"
- {
- return T_EXTENDS;
-}
-#line 6479 "Zend/zend_language_scanner.c"
-yy714:
- YYDEBUG(714, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(715, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 875 "Zend/zend_language_scanner.l"
- {
- return T_EXIT;
-}
-#line 6492 "Zend/zend_language_scanner.c"
-yy716:
- YYDEBUG(716, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy717;
- if (yych != 'l') goto yy186;
-yy717:
- YYDEBUG(717, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(718, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1101 "Zend/zend_language_scanner.l"
- {
- return T_EVAL;
-}
-#line 6510 "Zend/zend_language_scanner.c"
-yy719:
- YYDEBUG(719, *YYCURSOR);
- yych = *++YYCURSOR;
- YYDEBUG(-1, yych);
- switch (yych) {
- case 'D':
- case 'd': goto yy720;
- case 'F':
- case 'f': goto yy721;
- case 'I':
- case 'i': goto yy722;
- case 'S':
- case 's': goto yy723;
- case 'W':
- case 'w': goto yy724;
- default: goto yy186;
- }
-yy720:
- YYDEBUG(720, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy746;
- if (yych == 'e') goto yy746;
- goto yy186;
-yy721:
- YYDEBUG(721, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy738;
- if (yych == 'o') goto yy738;
- goto yy186;
-yy722:
- YYDEBUG(722, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy736;
- if (yych == 'f') goto yy736;
- goto yy186;
-yy723:
- YYDEBUG(723, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy730;
- if (yych == 'w') goto yy730;
- goto yy186;
-yy724:
- YYDEBUG(724, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy725;
- if (yych != 'h') goto yy186;
-yy725:
- YYDEBUG(725, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy726;
- if (yych != 'i') goto yy186;
-yy726:
- YYDEBUG(726, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy727;
- if (yych != 'l') goto yy186;
-yy727:
- YYDEBUG(727, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy728;
- if (yych != 'e') goto yy186;
-yy728:
- YYDEBUG(728, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(729, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 927 "Zend/zend_language_scanner.l"
- {
- return T_ENDWHILE;
-}
-#line 6584 "Zend/zend_language_scanner.c"
-yy730:
- YYDEBUG(730, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy731;
- if (yych != 'i') goto yy186;
-yy731:
- YYDEBUG(731, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy732;
- if (yych != 't') goto yy186;
-yy732:
- YYDEBUG(732, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy733;
- if (yych != 'c') goto yy186;
-yy733:
- YYDEBUG(733, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy734;
- if (yych != 'h') goto yy186;
-yy734:
- YYDEBUG(734, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(735, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 971 "Zend/zend_language_scanner.l"
- {
- return T_ENDSWITCH;
-}
-#line 6617 "Zend/zend_language_scanner.c"
-yy736:
- YYDEBUG(736, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(737, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 915 "Zend/zend_language_scanner.l"
- {
- return T_ENDIF;
-}
-#line 6630 "Zend/zend_language_scanner.c"
-yy738:
- YYDEBUG(738, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy739;
- if (yych != 'r') goto yy186;
-yy739:
- YYDEBUG(739, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '^') {
- if (yych <= '@') {
- if (yych <= '/') goto yy740;
- if (yych <= '9') goto yy185;
- } else {
- if (yych == 'E') goto yy741;
- if (yych <= 'Z') goto yy185;
- }
- } else {
- if (yych <= 'd') {
- if (yych != '`') goto yy185;
- } else {
- if (yych <= 'e') goto yy741;
- if (yych <= 'z') goto yy185;
- if (yych >= 0x7F) goto yy185;
- }
- }
-yy740:
- YYDEBUG(740, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 939 "Zend/zend_language_scanner.l"
- {
- return T_ENDFOR;
-}
-#line 6663 "Zend/zend_language_scanner.c"
-yy741:
- YYDEBUG(741, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy742;
- if (yych != 'a') goto yy186;
-yy742:
- YYDEBUG(742, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy743;
- if (yych != 'c') goto yy186;
-yy743:
- YYDEBUG(743, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy744;
- if (yych != 'h') goto yy186;
-yy744:
- YYDEBUG(744, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(745, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 947 "Zend/zend_language_scanner.l"
- {
- return T_ENDFOREACH;
-}
-#line 6691 "Zend/zend_language_scanner.c"
-yy746:
- YYDEBUG(746, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy747;
- if (yych != 'c') goto yy186;
-yy747:
- YYDEBUG(747, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy748;
- if (yych != 'l') goto yy186;
-yy748:
- YYDEBUG(748, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy749;
- if (yych != 'a') goto yy186;
-yy749:
- YYDEBUG(749, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy750;
- if (yych != 'r') goto yy186;
-yy750:
- YYDEBUG(750, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy751;
- if (yych != 'e') goto yy186;
-yy751:
- YYDEBUG(751, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(752, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 955 "Zend/zend_language_scanner.l"
- {
- return T_ENDDECLARE;
-}
-#line 6729 "Zend/zend_language_scanner.c"
-yy753:
- YYDEBUG(753, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy754;
- if (yych != 't') goto yy186;
-yy754:
- YYDEBUG(754, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy755;
- if (yych != 'y') goto yy186;
-yy755:
- YYDEBUG(755, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(756, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1137 "Zend/zend_language_scanner.l"
- {
- return T_EMPTY;
-}
-#line 6752 "Zend/zend_language_scanner.c"
-yy757:
- YYDEBUG(757, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy758;
- if (yych != 'e') goto yy186;
-yy758:
- YYDEBUG(758, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '^') {
- if (yych <= '@') {
- if (yych <= '/') goto yy759;
- if (yych <= '9') goto yy185;
- } else {
- if (yych == 'I') goto yy760;
- if (yych <= 'Z') goto yy185;
- }
- } else {
- if (yych <= 'h') {
- if (yych != '`') goto yy185;
- } else {
- if (yych <= 'i') goto yy760;
- if (yych <= 'z') goto yy185;
- if (yych >= 0x7F) goto yy185;
- }
- }
-yy759:
- YYDEBUG(759, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 919 "Zend/zend_language_scanner.l"
- {
- return T_ELSE;
-}
-#line 6785 "Zend/zend_language_scanner.c"
-yy760:
- YYDEBUG(760, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy761;
- if (yych != 'f') goto yy186;
-yy761:
- YYDEBUG(761, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(762, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 911 "Zend/zend_language_scanner.l"
- {
- return T_ELSEIF;
-}
-#line 6803 "Zend/zend_language_scanner.c"
-yy763:
- YYDEBUG(763, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy764;
- if (yych != 'o') goto yy186;
-yy764:
- YYDEBUG(764, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 8) {
- goto yy185;
- }
- YYDEBUG(765, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 995 "Zend/zend_language_scanner.l"
- {
- return T_ECHO;
-}
-#line 6821 "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(766, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '-') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy774;
- if (yych <= '\n') goto yy768;
- if (yych <= '\f') goto yy774;
- } else {
- if (yych == ' ') goto yy768;
- if (yych <= ',') goto yy774;
- goto yy770;
- }
- } else {
- if (yych <= '_') {
- if (yych <= '@') goto yy774;
- if (yych <= 'Z') goto yy772;
- if (yych <= '^') goto yy774;
- goto yy772;
- } else {
- if (yych <= '`') goto yy774;
- if (yych <= 'z') goto yy772;
- if (yych <= '~') goto yy774;
- goto yy772;
- }
- }
-yy768:
- YYDEBUG(768, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy780;
-yy769:
- YYDEBUG(769, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1024 "Zend/zend_language_scanner.l"
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
-}
-#line 6902 "Zend/zend_language_scanner.c"
-yy770:
- YYDEBUG(770, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy777;
-yy771:
- YYDEBUG(771, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1043 "Zend/zend_language_scanner.l"
- {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- goto restart;
-}
-#line 6916 "Zend/zend_language_scanner.c"
-yy772:
- YYDEBUG(772, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy776;
-yy773:
- YYDEBUG(773, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1036 "Zend/zend_language_scanner.l"
- {
- yy_pop_state(TSRMLS_C);
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-#line 6932 "Zend/zend_language_scanner.c"
-yy774:
- YYDEBUG(774, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy771;
-yy775:
- YYDEBUG(775, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy776:
- YYDEBUG(776, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy775;
- }
- goto yy773;
-yy777:
- YYDEBUG(777, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(778, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1032 "Zend/zend_language_scanner.l"
- {
- return T_OBJECT_OPERATOR;
-}
-#line 6957 "Zend/zend_language_scanner.c"
-yy779:
- YYDEBUG(779, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy780:
- YYDEBUG(780, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy779;
- }
- goto yy769;
- }
-/* *********************************** */
-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(781, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy785;
- if (yych <= 'Z') goto yy783;
- if (yych <= '^') goto yy785;
- } else {
- if (yych <= '`') goto yy785;
- if (yych <= 'z') goto yy783;
- if (yych <= '~') goto yy785;
- }
-yy783:
- YYDEBUG(783, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy788;
-yy784:
- YYDEBUG(784, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1315 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return T_STRING_VARNAME;
-}
-#line 7035 "Zend/zend_language_scanner.c"
-yy785:
- YYDEBUG(785, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(786, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1324 "Zend/zend_language_scanner.l"
- {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- goto restart;
-}
-#line 7048 "Zend/zend_language_scanner.c"
-yy787:
- YYDEBUG(787, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy788:
- YYDEBUG(788, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy787;
- }
- goto yy784;
- }
-/* *********************************** */
-yyc_ST_NOWDOC:
- YYDEBUG(789, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(791, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(792, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 2162 "Zend/zend_language_scanner.l"
- {
- int newline = 0;
-
- 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) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {
- YYCTYPE *end = YYCURSOR + CG(heredoc_len);
-
- 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);
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng - newline);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-#line 7125 "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,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 0, 0, 0, 0, 0, 0,
- 0, 160, 160, 160, 160, 160, 160, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 0, 0, 0, 0, 32,
- 0, 160, 160, 160, 160, 160, 160, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 0, 0, 0, 0, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- };
- YYDEBUG(793, *YYCURSOR);
- YYFILL(3);
- yych = *YYCURSOR;
- if (yych <= '/') {
- if (yych <= ' ') {
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy807;
- if (yych <= '\n') goto yy803;
- goto yy807;
- } else {
- if (yych <= '\r') goto yy803;
- if (yych <= 0x1F) goto yy807;
- goto yy803;
- }
- } else {
- if (yych <= '$') {
- if (yych <= '"') goto yy802;
- if (yych <= '#') goto yy803;
- goto yy798;
- } else {
- if (yych == '\'') goto yy803;
- goto yy802;
- }
- }
- } else {
- if (yych <= '\\') {
- if (yych <= '@') {
- if (yych <= '0') goto yy795;
- if (yych <= '9') goto yy797;
- goto yy802;
- } else {
- if (yych <= 'Z') goto yy805;
- if (yych <= '[') goto yy802;
- goto yy803;
- }
- } else {
- if (yych <= '_') {
- if (yych <= ']') goto yy800;
- if (yych <= '^') goto yy802;
- goto yy805;
- } else {
- if (yych <= '`') goto yy802;
- if (yych <= 'z') goto yy805;
- if (yych <= '~') goto yy802;
- goto yy805;
- }
- }
- }
-yy795:
- YYDEBUG(795, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'W') {
- if (yych <= '/') goto yy796;
- if (yych <= '9') goto yy818;
- } else {
- if (yych <= 'X') goto yy816;
- if (yych == 'x') goto yy816;
- }
-yy796:
- YYDEBUG(796, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1378 "Zend/zend_language_scanner.l"
- { /* Offset could be treated as a long */
- if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
- zendlval->value.lval = strtol(yytext, NULL, 10);
- zendlval->type = IS_LONG;
- } else {
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- }
- return T_NUM_STRING;
-}
-#line 7237 "Zend/zend_language_scanner.c"
-yy797:
- YYDEBUG(797, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy815;
-yy798:
- YYDEBUG(798, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '_') {
- if (yych <= '@') goto yy799;
- if (yych <= 'Z') goto yy811;
- if (yych >= '_') goto yy811;
- } else {
- if (yych <= '`') goto yy799;
- if (yych <= 'z') goto yy811;
- if (yych >= 0x7F) goto yy811;
- }
-yy799:
- YYDEBUG(799, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1688 "Zend/zend_language_scanner.l"
- {
- /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
- return yytext[0];
-}
-#line 7262 "Zend/zend_language_scanner.c"
-yy800:
- YYDEBUG(800, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(801, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1683 "Zend/zend_language_scanner.l"
- {
- yy_pop_state(TSRMLS_C);
- return ']';
-}
-#line 7273 "Zend/zend_language_scanner.c"
-yy802:
- YYDEBUG(802, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy799;
-yy803:
- YYDEBUG(803, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(804, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1693 "Zend/zend_language_scanner.l"
- {
- /* Invalid rule to return a more explicit parse error with proper line number */
- yyless(0);
- yy_pop_state(TSRMLS_C);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-#line 7290 "Zend/zend_language_scanner.c"
-yy805:
- YYDEBUG(805, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy810;
-yy806:
- YYDEBUG(806, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1700 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-#line 7305 "Zend/zend_language_scanner.c"
-yy807:
- YYDEBUG(807, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(808, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 2218 "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 7320 "Zend/zend_language_scanner.c"
-yy809:
- YYDEBUG(809, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy810:
- YYDEBUG(810, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy809;
- }
- goto yy806;
-yy811:
- YYDEBUG(811, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(812, *YYCURSOR);
- if (yych <= '^') {
- if (yych <= '9') {
- if (yych >= '0') goto yy811;
- } else {
- if (yych <= '@') goto yy813;
- if (yych <= 'Z') goto yy811;
- }
- } else {
- if (yych <= '`') {
- if (yych <= '_') goto yy811;
- } else {
- if (yych <= 'z') goto yy811;
- if (yych >= 0x7F) goto yy811;
- }
- }
-yy813:
- YYDEBUG(813, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1677 "Zend/zend_language_scanner.l"
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-#line 7362 "Zend/zend_language_scanner.c"
-yy814:
- YYDEBUG(814, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy815:
- YYDEBUG(815, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy814;
- }
- goto yy796;
-yy816:
- YYDEBUG(816, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy821;
- }
- YYDEBUG(817, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy796;
-yy818:
- YYDEBUG(818, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(819, *YYCURSOR);
- if (yych <= '/') goto yy820;
- if (yych <= '9') goto yy818;
-yy820:
- YYDEBUG(820, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
-#line 1390 "Zend/zend_language_scanner.l"
- { /* Offset must be treated as a string */
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- return T_NUM_STRING;
-}
-#line 7401 "Zend/zend_language_scanner.c"
-yy821:
- YYDEBUG(821, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(822, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy821;
- }
- goto yy820;
- }
-}
-#line 2227 "Zend/zend_language_scanner.l"
-
-}
+/* Generated by re2c 0.13.5 on Wed Mar 28 01:54:21 2012 */\r
+#line 1 "Zend/zend_language_scanner.l"\r
+/*\r
+ +----------------------------------------------------------------------+\r
+ | Zend Engine |\r
+ +----------------------------------------------------------------------+\r
+ | Copyright (c) 1998-2012 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
+#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 "tsrm_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 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(heredoc) = NULL;\r
+ CG(heredoc_len) = 0;\r
+ CG(doc_comment) = NULL;\r
+ CG(doc_comment_len) = 0;\r
+ zend_stack_init(&SCNG(state_stack));\r
+}\r
+\r
+void shutdown_scanner(TSRMLS_D)\r
+{\r
+ if (CG(heredoc)) {\r
+ efree(CG(heredoc));\r
+ CG(heredoc_len)=0;\r
+ }\r
+ zend_stack_destroy(&SCNG(state_stack));\r
+ RESET_DOC_COMMENT();\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->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
+#ifdef ZEND_MULTIBYTE\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
+ lex_state->internal_encoding = SCNG(internal_encoding);\r
+#endif /* ZEND_MULTIBYTE */\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
+ 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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ SCNG(script_org) = NULL;\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
+ SCNG(internal_encoding) = lex_state->internal_encoding;\r
+#endif /* ZEND_MULTIBYTE */\r
+\r
+ if (CG(heredoc)) {\r
+ efree(CG(heredoc));\r
+ CG(heredoc) = NULL;\r
+ CG(heredoc_len) = 0;\r
+ }\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
+\r
+ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)\r
+{\r
+ char *file_path = NULL, *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
+#ifdef ZEND_MULTIBYTE\r
+ if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) {\r
+ return FAILURE;\r
+ }\r
+\r
+ SCNG(yy_in) = NULL;\r
+\r
+ zend_multibyte_set_filter(NULL TSRMLS_CC);\r
+\r
+ if (!SCNG(input_filter)) {\r
+ SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);\r
+ memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);\r
+ SCNG(script_filtered_size) = SCNG(script_org_size);\r
+ } else {\r
+ SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);\r
+ if (SCNG(script_filtered) == NULL) {\r
+ zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "\r
+ "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name);\r
+ }\r
+ }\r
+ SCNG(yy_start) = SCNG(script_filtered) - offset;\r
+ yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);\r
+#else /* !ZEND_MULTIBYTE */\r
+ SCNG(yy_start) = buf - offset;\r
+ yy_scan_buffer(buf, size TSRMLS_CC);\r
+#endif /* ZEND_MULTIBYTE */\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
+ 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
+ retval_znode.u.constant.type = IS_LONG;\r
+ retval_znode.u.constant.value.lval = 1;\r
+ Z_UNSET_ISREF(retval_znode.u.constant);\r
+ Z_SET_REFCOUNT(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
+ 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==1) { /* 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(TSRMLS_C);\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 = filename->value.str.val;\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(filename->value.str.val, filename->value.str.len);\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
+ /* enforce two trailing NULLs for flex... */\r
+ str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);\r
+\r
+ memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);\r
+\r
+ SCNG(yy_in)=NULL;\r
+ SCNG(yy_start) = NULL;\r
+\r
+#ifdef ZEND_MULTIBYTE\r
+ SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val);\r
+ SCNG(script_org_size) = str->value.str.len;\r
+\r
+ zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);\r
+\r
+ if (!SCNG(input_filter)) {\r
+ SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);\r
+ memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);\r
+ SCNG(script_filtered_size) = SCNG(script_org_size);\r
+ } else {\r
+ SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);\r
+ }\r
+\r
+ yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); \r
+#else /* !ZEND_MULTIBYTE */\r
+ yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC);\r
+#endif /* ZEND_MULTIBYTE */\r
+\r
+ zend_set_compiled_filename(filename TSRMLS_CC);\r
+ CG(zend_lineno) = 1;\r
+ CG(increment_lineno) = 0;\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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(input_filter)) {\r
+ size_t original_offset = offset, length = 0; do {\r
+ unsigned char *p = NULL;\r
+ SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);\r
+ if (!p) {\r
+ break;\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
+#endif\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 (source_string->value.str.len==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
+ BEGIN(ST_IN_SCRIPTING);\r
+ compiler_result = zendparse(TSRMLS_C);\r
+\r
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ SCNG(script_org) = NULL;\r
+ }\r
+ if (SCNG(script_filtered)) {\r
+ efree(SCNG(script_filtered));\r
+ SCNG(script_filtered) = NULL;\r
+ }\r
+#endif /* ZEND_MULTIBYTE */\r
+\r
+ if (compiler_result==1) {\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(TSRMLS_C);\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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ SCNG(script_org) = NULL;\r
+ }\r
+ if (SCNG(script_filtered)) {\r
+ efree(SCNG(script_filtered));\r
+ SCNG(script_filtered) = NULL;\r
+ }\r
+#endif /* ZEND_MULTIBYTE */\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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ SCNG(script_org) = NULL;\r
+ }\r
+ if (SCNG(script_filtered)) {\r
+ efree(SCNG(script_filtered));\r
+ SCNG(script_filtered) = NULL;\r
+ }\r
+#endif /* ZEND_MULTIBYTE */\r
+ zend_restore_lexical_state(&original_lex_state TSRMLS_CC);\r
+ zval_dtor(str);\r
+ return SUCCESS;\r
+}\r
+END_EXTERN_C()\r
+\r
+#ifdef ZEND_MULTIBYTE\r
+\r
+BEGIN_EXTERN_C()\r
+ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)\r
+{\r
+ size_t original_offset, offset, free_flag, new_len, length;\r
+ unsigned char *p;\r
+\r
+ /* calculate current position */\r
+ offset = original_offset = YYCURSOR - SCNG(yy_start);\r
+ if (old_input_filter && offset > 0) {\r
+ zend_encoding *new_encoding = SCNG(script_encoding);\r
+ zend_encoding_filter new_filter = SCNG(input_filter);\r
+ SCNG(script_encoding) = old_encoding;\r
+ SCNG(input_filter) = old_input_filter;\r
+ offset = zend_get_scanned_file_offset(TSRMLS_C);\r
+ SCNG(script_encoding) = new_encoding;\r
+ SCNG(input_filter) = new_filter;\r
+ }\r
+\r
+ /* convert and set */\r
+ if (!SCNG(input_filter)) {\r
+ length = SCNG(script_org_size) - offset;\r
+ p = SCNG(script_org) + offset;\r
+ free_flag = 0;\r
+ } else {\r
+ SCNG(input_filter)(&p, &length, SCNG(script_org) + offset, SCNG(script_org_size) - offset TSRMLS_CC);\r
+ free_flag = 1;\r
+ }\r
+\r
+ new_len = original_offset + length;\r
+\r
+ if (new_len > YYLIMIT - SCNG(yy_start)) {\r
+ unsigned char *new_yy_start = erealloc(SCNG(yy_start), new_len);\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_start) = new_yy_start;\r
+ SCNG(script_filtered) = new_yy_start;\r
+ SCNG(script_filtered_size) = new_len;\r
+ }\r
+\r
+ SCNG(yy_limit) = SCNG(yy_start) + new_len;\r
+ memmove(SCNG(yy_start) + original_offset, p, length);\r
+\r
+ if (free_flag) {\r
+ efree(p);\r
+ }\r
+}\r
+\r
+\r
+ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC)\r
+{\r
+ size_t n;\r
+\r
+ if (CG(interactive) == 0) {\r
+ if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {\r
+ return FAILURE;\r
+ }\r
+ n = len;\r
+ return n;\r
+ }\r
+\r
+ /* interactive */\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ }\r
+ if (SCNG(script_filtered)) {\r
+ efree(SCNG(script_filtered));\r
+ }\r
+ SCNG(script_org) = NULL;\r
+ SCNG(script_org_size) = 0;\r
+\r
+ /* TODO: support widechars */\r
+ if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {\r
+ return FAILURE;\r
+ }\r
+ n = len;\r
+\r
+ SCNG(script_org_size) = n;\r
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);\r
+ memcpy(SCNG(script_org), buf, n);\r
+\r
+ return n;\r
+}\r
+\r
+\r
+ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)\r
+{\r
+ if (SCNG(script_org)) {\r
+ efree(SCNG(script_org));\r
+ SCNG(script_org) = NULL;\r
+ }\r
+ SCNG(script_org_size) = n; \r
+ \r
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);\r
+ memcpy(SCNG(script_org), buf, n);\r
+ *(SCNG(script_org)+SCNG(script_org_size)) = '\0';\r
+\r
+ return 0;\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 **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \\r
+ zendlval->value.str.len = sz; \\r
+ } else { \\r
+ zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \\r
+ zendlval->value.str.len = yyleng; \\r
+ }\r
+#else /* ZEND_MULTIBYTE */\r
+# define zend_copy_value(zendlval, yytext, yyleng) \\r
+ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \\r
+ zendlval->value.str.len = yyleng;\r
+#endif /* ZEND_MULTIBYTE */\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 = zendlval->value.str.val;\r
+ end = s+zendlval->value.str.len;\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
+ zendlval->value.str.len--;\r
+ break;\r
+ case 'r':\r
+ *t++ = '\r';\r
+ zendlval->value.str.len--;\r
+ break;\r
+ case 't':\r
+ *t++ = '\t';\r
+ zendlval->value.str.len--;\r
+ break;\r
+ case 'f':\r
+ *t++ = '\f';\r
+ zendlval->value.str.len--;\r
+ break;\r
+ case 'v':\r
+ *t++ = '\v';\r
+ zendlval->value.str.len--;\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
+ zendlval->value.str.len--;\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
+ zendlval->value.str.len--; /* for the 'x' */\r
+\r
+ hex_buf[0] = *(++s);\r
+ zendlval->value.str.len--;\r
+ if (ZEND_IS_HEX(*(s+1))) {\r
+ hex_buf[1] = *(++s);\r
+ zendlval->value.str.len--;\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
+ zendlval->value.str.len--;\r
+ if (ZEND_IS_OCT(*(s+1))) {\r
+ octal_buf[1] = *(++s);\r
+ zendlval->value.str.len--;\r
+ if (ZEND_IS_OCT(*(s+1))) {\r
+ octal_buf[2] = *(++s);\r
+ zendlval->value.str.len--;\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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(output_filter)) {\r
+ size_t sz = 0;\r
+ s = zendlval->value.str.val;\r
+ SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);\r
+ zendlval->value.str.len = sz;\r
+ efree(s);\r
+ }\r
+#endif /* ZEND_MULTIBYTE */\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 862 "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 1590 "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(YYCURSOR + 1, "php", 3)) { /* 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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(output_filter)) {\r
+ int readsize;\r
+ size_t sz = 0;\r
+ readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);\r
+ zendlval->value.str.len = sz;\r
+ if (readsize < yyleng) {\r
+ yyless(readsize);\r
+ }\r
+ } else {\r
+ zendlval->value.str.val = (char *) estrndup(yytext, yyleng);\r
+ zendlval->value.str.len = yyleng;\r
+ }\r
+#else /* !ZEND_MULTIBYTE */\r
+ zendlval->value.str.val = (char *) estrndup(yytext, yyleng);\r
+ zendlval->value.str.len = yyleng;\r
+#endif\r
+ zendlval->type = IS_STRING;\r
+ HANDLE_NEWLINES(yytext, yyleng);\r
+ return T_INLINE_HTML;\r
+}\r
+#line 1026 "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 1578 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (CG(short_tags)) {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG;\r
+ } else {\r
+ goto inline_char_handler;\r
+ }\r
+}\r
+#line 1056 "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 1555 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (CG(asp_tags)) {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG;\r
+ } else {\r
+ goto inline_char_handler;\r
+ }\r
+}\r
+#line 1075 "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 1511 "Zend/zend_language_scanner.l"\r
+ {\r
+ YYCTYPE *bracket = 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
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG;\r
+}\r
+#line 1278 "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 1529 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (CG(asp_tags)) {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG_WITH_ECHO;\r
+ } else {\r
+ goto inline_char_handler;\r
+ }\r
+}\r
+#line 1317 "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 1542 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (CG(short_tags)) {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG_WITH_ECHO;\r
+ } else {\r
+ goto inline_char_handler;\r
+ }\r
+}\r
+#line 1335 "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 1568 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ HANDLE_NEWLINE(yytext[yyleng-1]);\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_OPEN_TAG;\r
+}\r
+#line 1371 "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 2048 "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 1483 "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 1992 "Zend/zend_language_scanner.l"\r
+ {\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return '`';\r
+}\r
+#line 1499 "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 1979 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.lval = (long) '{';\r
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
+ yyless(1);\r
+ return T_CURLY_OPEN;\r
+}\r
+#line 1516 "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 1677 "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 1538 "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 1300 "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 1549 "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 1669 "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 1571 "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 1659 "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 1597 "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 1998 "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 1714 "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 1987 "Zend/zend_language_scanner.l"\r
+ {\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return '"';\r
+}\r
+#line 1730 "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 1979 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.lval = (long) '{';\r
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
+ yyless(1);\r
+ return T_CURLY_OPEN;\r
+}\r
+#line 1747 "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 1677 "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 1769 "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 1300 "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 1780 "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 1669 "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 1802 "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 1659 "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 1828 "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 1966 "Zend/zend_language_scanner.l"\r
+ {\r
+ YYCURSOR += CG(heredoc_len) - 1;\r
+ yyleng = CG(heredoc_len);\r
+\r
+ Z_STRVAL_P(zendlval) = CG(heredoc);\r
+ Z_STRLEN_P(zendlval) = CG(heredoc_len);\r
+ CG(heredoc) = NULL;\r
+ CG(heredoc_len) = 0;\r
+ BEGIN(ST_IN_SCRIPTING);\r
+ return T_END_HEREDOC;\r
+}\r
+#line 1851 "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 2090 "Zend/zend_language_scanner.l"\r
+ {\r
+ int newline = 0;\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) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {\r
+ YYCTYPE *end = YYCURSOR + CG(heredoc_len);\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 1984 "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 1979 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.lval = (long) '{';\r
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
+ yyless(1);\r
+ return T_CURLY_OPEN;\r
+}\r
+#line 2006 "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 1677 "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 2028 "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 1300 "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 2039 "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 1669 "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 2061 "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 1659 "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 2087 "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
+ 56, 56, 56, 56, 56, 56, 56, 56, \r
+ 56, 56, 0, 0, 0, 0, 0, 0, \r
+ 0, 40, 40, 40, 40, 40, 40, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 0, 0, 0, 0, 8, \r
+ 0, 40, 40, 40, 40, 40, 40, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 0, 0, 0, 0, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \r
+ 8, 8, 8, 8, 8, 8, 8, 8, \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 yy183;\r
+ case '\t':\r
+ case '\n':\r
+ case '\r':\r
+ case ' ': goto yy139;\r
+ case '!': goto yy152;\r
+ case '"': goto yy179;\r
+ case '#': goto yy175;\r
+ case '$': goto yy164;\r
+ case '%': goto yy158;\r
+ case '&': goto yy159;\r
+ case '\'': goto yy177;\r
+ case '(': goto yy146;\r
+ case ')':\r
+ case ',':\r
+ case ';':\r
+ case '@':\r
+ case '[':\r
+ case ']':\r
+ case '~': goto yy165;\r
+ case '*': goto yy155;\r
+ case '+': goto yy151;\r
+ case '-': goto yy137;\r
+ case '.': goto yy157;\r
+ case '/': goto yy156;\r
+ case '0': goto yy171;\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 yy173;\r
+ case ':': goto yy141;\r
+ case '<': goto yy153;\r
+ case '=': goto yy149;\r
+ case '>': goto yy154;\r
+ case '?': goto yy166;\r
+ case 'A':\r
+ case 'a': goto yy132;\r
+ case 'B':\r
+ case 'b': goto yy134;\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 yy135;\r
+ case 'I':\r
+ case 'i': goto yy130;\r
+ case 'L':\r
+ case 'l': goto yy150;\r
+ case 'N':\r
+ case 'n': goto yy144;\r
+ case 'O':\r
+ case 'o': goto yy162;\r
+ case 'P':\r
+ case 'p': goto yy136;\r
+ case 'R':\r
+ case 'r': goto yy128;\r
+ case 'S':\r
+ case 's': goto yy133;\r
+ case 'T':\r
+ case 't': goto yy129;\r
+ case 'U':\r
+ case 'u': goto yy147;\r
+ case 'V':\r
+ case 'v': goto yy145;\r
+ case 'W':\r
+ case 'w': goto yy131;\r
+ case 'X':\r
+ case 'x': goto yy163;\r
+ case '\\': goto yy142;\r
+ case '^': goto yy161;\r
+ case '_': goto yy148;\r
+ case '`': goto yy181;\r
+ case '{': goto yy167;\r
+ case '|': goto yy160;\r
+ case '}': goto yy169;\r
+ default: goto yy174;\r
+ }\r
+yy123:\r
+ YYDEBUG(123, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(-1, yych);\r
+ switch ((yych = *YYCURSOR)) {\r
+ case 'C':\r
+ case 'c': goto yy701;\r
+ case 'L':\r
+ case 'l': goto yy702;\r
+ case 'M':\r
+ case 'm': goto yy703;\r
+ case 'N':\r
+ case 'n': goto yy704;\r
+ case 'V':\r
+ case 'v': goto yy705;\r
+ case 'X':\r
+ case 'x': goto yy706;\r
+ default: goto yy186;\r
+ }\r
+yy124:\r
+ YYDEBUG(124, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1700 "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 2274 "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 yy683;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'I') goto yy684;\r
+ if (yych <= 'N') goto yy186;\r
+ goto yy685;\r
+ }\r
+ } else {\r
+ if (yych <= 'h') {\r
+ if (yych == 'e') goto yy683;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'i') goto yy684;\r
+ if (yych == 'o') goto yy685;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy126:\r
+ YYDEBUG(126, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'U') {\r
+ if (yych <= 'N') {\r
+ if (yych == 'I') goto yy662;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'O') goto yy663;\r
+ if (yych <= 'T') goto yy186;\r
+ goto yy664;\r
+ }\r
+ } else {\r
+ if (yych <= 'n') {\r
+ if (yych == 'i') goto yy662;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'o') goto yy663;\r
+ if (yych == 'u') goto yy664;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy127:\r
+ YYDEBUG(127, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'O') {\r
+ if (yych <= 'K') {\r
+ if (yych == 'A') goto yy634;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'L') goto yy635;\r
+ if (yych <= 'N') goto yy186;\r
+ goto yy636;\r
+ }\r
+ } else {\r
+ if (yych <= 'k') {\r
+ if (yych == 'a') goto yy634;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'l') goto yy635;\r
+ if (yych == 'o') goto yy636;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy128:\r
+ YYDEBUG(128, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy616;\r
+ if (yych == 'e') goto yy616;\r
+ goto yy186;\r
+yy129:\r
+ YYDEBUG(129, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'R') {\r
+ if (yych == 'H') goto yy608;\r
+ if (yych <= 'Q') goto yy186;\r
+ goto yy609;\r
+ } else {\r
+ if (yych <= 'h') {\r
+ if (yych <= 'g') goto yy186;\r
+ goto yy608;\r
+ } else {\r
+ if (yych == 'r') goto yy609;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy130:\r
+ YYDEBUG(130, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'S') {\r
+ if (yych <= 'L') {\r
+ if (yych == 'F') goto yy561;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'M') goto yy563;\r
+ if (yych <= 'N') goto yy564;\r
+ if (yych <= 'R') goto yy186;\r
+ goto yy565;\r
+ }\r
+ } else {\r
+ if (yych <= 'm') {\r
+ if (yych == 'f') goto yy561;\r
+ if (yych <= 'l') goto yy186;\r
+ goto yy563;\r
+ } else {\r
+ if (yych <= 'n') goto yy564;\r
+ if (yych == 's') goto yy565;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy131:\r
+ YYDEBUG(131, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy556;\r
+ if (yych == 'h') goto yy556;\r
+ goto yy186;\r
+yy132:\r
+ YYDEBUG(132, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'S') {\r
+ if (yych <= 'M') {\r
+ if (yych == 'B') goto yy538;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 'N') goto yy539;\r
+ if (yych <= 'Q') goto yy186;\r
+ if (yych <= 'R') goto yy540;\r
+ goto yy541;\r
+ }\r
+ } else {\r
+ if (yych <= 'n') {\r
+ if (yych == 'b') goto yy538;\r
+ if (yych <= 'm') goto yy186;\r
+ goto yy539;\r
+ } else {\r
+ if (yych <= 'q') goto yy186;\r
+ if (yych <= 'r') goto yy540;\r
+ if (yych <= 's') goto yy541;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy133:\r
+ YYDEBUG(133, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'W') {\r
+ if (yych == 'T') goto yy526;\r
+ if (yych <= 'V') goto yy186;\r
+ goto yy527;\r
+ } else {\r
+ if (yych <= 't') {\r
+ if (yych <= 's') goto yy186;\r
+ goto yy526;\r
+ } else {\r
+ if (yych == 'w') goto yy527;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy134:\r
+ YYDEBUG(134, *YYCURSOR);\r
+ yyaccept = 0;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= ';') {\r
+ if (yych <= '"') {\r
+ if (yych <= '!') goto yy186;\r
+ goto yy518;\r
+ } else {\r
+ if (yych == '\'') goto yy519;\r
+ goto yy186;\r
+ }\r
+ } else {\r
+ if (yych <= 'R') {\r
+ if (yych <= '<') goto yy517;\r
+ if (yych <= 'Q') goto yy186;\r
+ goto yy520;\r
+ } else {\r
+ if (yych == 'r') goto yy520;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy135:\r
+ YYDEBUG(135, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'O') {\r
+ if (yych == 'L') goto yy507;\r
+ if (yych <= 'N') goto yy186;\r
+ goto yy508;\r
+ } else {\r
+ if (yych <= 'l') {\r
+ if (yych <= 'k') goto yy186;\r
+ goto yy507;\r
+ } else {\r
+ if (yych == 'o') goto yy508;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy136:\r
+ YYDEBUG(136, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'U') {\r
+ if (yych == 'R') goto yy483;\r
+ if (yych <= 'T') goto yy186;\r
+ goto yy484;\r
+ } else {\r
+ if (yych <= 'r') {\r
+ if (yych <= 'q') goto yy186;\r
+ goto yy483;\r
+ } else {\r
+ if (yych == 'u') goto yy484;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy137:\r
+ YYDEBUG(137, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '<') {\r
+ if (yych == '-') goto yy479;\r
+ } else {\r
+ if (yych <= '=') goto yy477;\r
+ if (yych <= '>') goto yy481;\r
+ }\r
+yy138:\r
+ YYDEBUG(138, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1289 "Zend/zend_language_scanner.l"\r
+ {\r
+ return yytext[0];\r
+}\r
+#line 2504 "Zend/zend_language_scanner.c"\r
+yy139:\r
+ YYDEBUG(139, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ yych = *YYCURSOR;\r
+ goto yy476;\r
+yy140:\r
+ YYDEBUG(140, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1024 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ HANDLE_NEWLINES(yytext, yyleng);\r
+ return T_WHITESPACE;\r
+}\r
+#line 2521 "Zend/zend_language_scanner.c"\r
+yy141:\r
+ YYDEBUG(141, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == ':') goto yy473;\r
+ goto yy138;\r
+yy142:\r
+ YYDEBUG(142, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(143, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1053 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_NS_SEPARATOR;\r
+}\r
+#line 2536 "Zend/zend_language_scanner.c"\r
+yy144:\r
+ YYDEBUG(144, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'E') {\r
+ if (yych == 'A') goto yy461;\r
+ if (yych <= 'D') goto yy186;\r
+ goto yy462;\r
+ } else {\r
+ if (yych <= 'a') {\r
+ if (yych <= '`') goto yy186;\r
+ goto yy461;\r
+ } else {\r
+ if (yych == 'e') goto yy462;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy145:\r
+ YYDEBUG(145, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy458;\r
+ if (yych == 'a') goto yy458;\r
+ goto yy186;\r
+yy146:\r
+ YYDEBUG(146, *YYCURSOR);\r
+ yyaccept = 1;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= 'S') {\r
+ if (yych <= 'D') {\r
+ if (yych <= ' ') {\r
+ if (yych == '\t') goto yy379;\r
+ if (yych <= 0x1F) goto yy138;\r
+ goto yy379;\r
+ } else {\r
+ if (yych <= '@') goto yy138;\r
+ if (yych == 'C') goto yy138;\r
+ goto yy379;\r
+ }\r
+ } else {\r
+ if (yych <= 'I') {\r
+ if (yych == 'F') goto yy379;\r
+ if (yych <= 'H') goto yy138;\r
+ goto yy379;\r
+ } else {\r
+ if (yych == 'O') goto yy379;\r
+ if (yych <= 'Q') goto yy138;\r
+ goto yy379;\r
+ }\r
+ }\r
+ } else {\r
+ if (yych <= 'f') {\r
+ if (yych <= 'b') {\r
+ if (yych == 'U') goto yy379;\r
+ if (yych <= '`') goto yy138;\r
+ goto yy379;\r
+ } else {\r
+ if (yych == 'd') goto yy379;\r
+ if (yych <= 'e') goto yy138;\r
+ goto yy379;\r
+ }\r
+ } else {\r
+ if (yych <= 'o') {\r
+ if (yych == 'i') goto yy379;\r
+ if (yych <= 'n') goto yy138;\r
+ goto yy379;\r
+ } else {\r
+ if (yych <= 's') {\r
+ if (yych <= 'q') goto yy138;\r
+ goto yy379;\r
+ } else {\r
+ if (yych == 'u') goto yy379;\r
+ goto yy138;\r
+ }\r
+ }\r
+ }\r
+ }\r
+yy147:\r
+ YYDEBUG(147, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'S') {\r
+ if (yych == 'N') goto yy370;\r
+ if (yych <= 'R') goto yy186;\r
+ goto yy371;\r
+ } else {\r
+ if (yych <= 'n') {\r
+ if (yych <= 'm') goto yy186;\r
+ goto yy370;\r
+ } else {\r
+ if (yych == 's') goto yy371;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy148:\r
+ YYDEBUG(148, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '_') goto yy296;\r
+ goto yy186;\r
+yy149:\r
+ YYDEBUG(149, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '<') goto yy138;\r
+ if (yych <= '=') goto yy290;\r
+ if (yych <= '>') goto yy292;\r
+ goto yy138;\r
+yy150:\r
+ YYDEBUG(150, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy286;\r
+ if (yych == 'i') goto yy286;\r
+ goto yy186;\r
+yy151:\r
+ YYDEBUG(151, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '+') goto yy284;\r
+ if (yych == '=') goto yy282;\r
+ goto yy138;\r
+yy152:\r
+ YYDEBUG(152, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '=') goto yy279;\r
+ goto yy138;\r
+yy153:\r
+ YYDEBUG(153, *YYCURSOR);\r
+ yyaccept = 1;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= ';') {\r
+ if (yych == '/') goto yy251;\r
+ goto yy138;\r
+ } else {\r
+ if (yych <= '<') goto yy249;\r
+ if (yych <= '=') goto yy252;\r
+ if (yych <= '>') goto yy254;\r
+ goto yy138;\r
+ }\r
+yy154:\r
+ YYDEBUG(154, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '<') goto yy138;\r
+ if (yych <= '=') goto yy245;\r
+ if (yych <= '>') goto yy243;\r
+ goto yy138;\r
+yy155:\r
+ YYDEBUG(155, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '=') goto yy241;\r
+ goto yy138;\r
+yy156:\r
+ YYDEBUG(156, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '.') {\r
+ if (yych == '*') goto yy233;\r
+ goto yy138;\r
+ } else {\r
+ if (yych <= '/') goto yy235;\r
+ if (yych == '=') goto yy236;\r
+ goto yy138;\r
+ }\r
+yy157:\r
+ YYDEBUG(157, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '/') goto yy138;\r
+ if (yych <= '9') goto yy229;\r
+ if (yych == '=') goto yy231;\r
+ goto yy138;\r
+yy158:\r
+ YYDEBUG(158, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '<') goto yy138;\r
+ if (yych <= '=') goto yy225;\r
+ if (yych <= '>') goto yy223;\r
+ goto yy138;\r
+yy159:\r
+ YYDEBUG(159, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '&') goto yy219;\r
+ if (yych == '=') goto yy221;\r
+ goto yy138;\r
+yy160:\r
+ YYDEBUG(160, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '=') goto yy217;\r
+ if (yych == '|') goto yy215;\r
+ goto yy138;\r
+yy161:\r
+ YYDEBUG(161, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '=') goto yy213;\r
+ goto yy138;\r
+yy162:\r
+ YYDEBUG(162, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy211;\r
+ if (yych == 'r') goto yy211;\r
+ goto yy186;\r
+yy163:\r
+ YYDEBUG(163, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy208;\r
+ if (yych == 'o') goto yy208;\r
+ goto yy186;\r
+yy164:\r
+ YYDEBUG(164, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '_') {\r
+ if (yych <= '@') goto yy138;\r
+ if (yych <= 'Z') goto yy205;\r
+ if (yych <= '^') goto yy138;\r
+ goto yy205;\r
+ } else {\r
+ if (yych <= '`') goto yy138;\r
+ if (yych <= 'z') goto yy205;\r
+ if (yych <= '~') goto yy138;\r
+ goto yy205;\r
+ }\r
+yy165:\r
+ YYDEBUG(165, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy138;\r
+yy166:\r
+ YYDEBUG(166, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '>') goto yy201;\r
+ goto yy138;\r
+yy167:\r
+ YYDEBUG(167, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(168, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1294 "Zend/zend_language_scanner.l"\r
+ {\r
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);\r
+ return '{';\r
+}\r
+#line 2769 "Zend/zend_language_scanner.c"\r
+yy169:\r
+ YYDEBUG(169, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(170, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1306 "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 2783 "Zend/zend_language_scanner.c"\r
+yy171:\r
+ YYDEBUG(171, *YYCURSOR);\r
+ yyaccept = 2;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= 'E') {\r
+ if (yych <= '/') {\r
+ if (yych == '.') goto yy187;\r
+ } else {\r
+ if (yych <= '9') goto yy190;\r
+ if (yych >= 'E') goto yy192;\r
+ }\r
+ } else {\r
+ if (yych <= 'd') {\r
+ if (yych == 'X') goto yy197;\r
+ } else {\r
+ if (yych <= 'e') goto yy192;\r
+ if (yych == 'x') goto yy197;\r
+ }\r
+ }\r
+yy172:\r
+ YYDEBUG(172, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1332 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */\r
+ zendlval->value.lval = strtol(yytext, NULL, 0);\r
+ } else {\r
+ errno = 0;\r
+ zendlval->value.lval = strtol(yytext, NULL, 0);\r
+ if (errno == ERANGE) { /* Overflow */\r
+ if (yytext[0] == '0') { /* octal overflow */\r
+ zendlval->value.dval = zend_oct_strtod(yytext, NULL);\r
+ } else {\r
+ zendlval->value.dval = 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 2827 "Zend/zend_language_scanner.c"\r
+yy173:\r
+ YYDEBUG(173, *YYCURSOR);\r
+ yyaccept = 2;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= '9') {\r
+ if (yych == '.') goto yy187;\r
+ if (yych <= '/') goto yy172;\r
+ goto yy190;\r
+ } else {\r
+ if (yych <= 'E') {\r
+ if (yych <= 'D') goto yy172;\r
+ goto yy192;\r
+ } else {\r
+ if (yych == 'e') goto yy192;\r
+ goto yy172;\r
+ }\r
+ }\r
+yy174:\r
+ YYDEBUG(174, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy186;\r
+yy175:\r
+ YYDEBUG(175, *YYCURSOR);\r
+ ++YYCURSOR;\r
+yy176:\r
+ YYDEBUG(176, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1707 "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 2889 "Zend/zend_language_scanner.c"\r
+yy177:\r
+ YYDEBUG(177, *YYCURSOR);\r
+ ++YYCURSOR;\r
+yy178:\r
+ YYDEBUG(178, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1798 "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
+ zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);\r
+ zendlval->value.str.len = yyleng-bprefix-2;\r
+ zendlval->type = IS_STRING;\r
+\r
+ /* convert escape sequences */\r
+ s = t = zendlval->value.str.val;\r
+ end = s+zendlval->value.str.len;\r
+ while (s<end) {\r
+ if (*s=='\\') {\r
+ s++;\r
+\r
+ switch(*s) {\r
+ case '\\':\r
+ case '\'':\r
+ *t++ = *s;\r
+ zendlval->value.str.len--;\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
+#ifdef ZEND_MULTIBYTE\r
+ if (SCNG(output_filter)) {\r
+ size_t sz = 0;\r
+ s = zendlval->value.str.val;\r
+ SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);\r
+ zendlval->value.str.len = sz;\r
+ efree(s);\r
+ }\r
+#endif /* ZEND_MULTIBYTE */\r
+ return T_CONSTANT_ENCAPSED_STRING;\r
+}\r
+#line 2966 "Zend/zend_language_scanner.c"\r
+yy179:\r
+ YYDEBUG(179, *YYCURSOR);\r
+ ++YYCURSOR;\r
+yy180:\r
+ YYDEBUG(180, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1869 "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 3014 "Zend/zend_language_scanner.c"\r
+yy181:\r
+ YYDEBUG(181, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(182, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1960 "Zend/zend_language_scanner.l"\r
+ {\r
+ BEGIN(ST_BACKQUOTE);\r
+ return '`';\r
+}\r
+#line 3025 "Zend/zend_language_scanner.c"\r
+yy183:\r
+ YYDEBUG(183, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(184, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 2218 "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 3040 "Zend/zend_language_scanner.c"\r
+yy185:\r
+ YYDEBUG(185, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy186:\r
+ YYDEBUG(186, *YYCURSOR);\r
+ if (yybm[0+yych] & 8) {\r
+ goto yy185;\r
+ }\r
+ goto yy124;\r
+yy187:\r
+ YYDEBUG(187, *YYCURSOR);\r
+ yyaccept = 3;\r
+ YYMARKER = ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(188, *YYCURSOR);\r
+ if (yybm[0+yych] & 16) {\r
+ goto yy187;\r
+ }\r
+ if (yych == 'E') goto yy192;\r
+ if (yych == 'e') goto yy192;\r
+yy189:\r
+ YYDEBUG(189, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1397 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.dval = zend_strtod(yytext, NULL);\r
+ zendlval->type = IS_DOUBLE;\r
+ return T_DNUMBER;\r
+}\r
+#line 3073 "Zend/zend_language_scanner.c"\r
+yy190:\r
+ YYDEBUG(190, *YYCURSOR);\r
+ yyaccept = 2;\r
+ YYMARKER = ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(191, *YYCURSOR);\r
+ if (yych <= '9') {\r
+ if (yych == '.') goto yy187;\r
+ if (yych <= '/') goto yy172;\r
+ goto yy190;\r
+ } else {\r
+ if (yych <= 'E') {\r
+ if (yych <= 'D') goto yy172;\r
+ } else {\r
+ if (yych != 'e') goto yy172;\r
+ }\r
+ }\r
+yy192:\r
+ YYDEBUG(192, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= ',') {\r
+ if (yych == '+') goto yy194;\r
+ } else {\r
+ if (yych <= '-') goto yy194;\r
+ if (yych <= '/') goto yy193;\r
+ if (yych <= '9') goto yy195;\r
+ }\r
+yy193:\r
+ YYDEBUG(193, *YYCURSOR);\r
+ YYCURSOR = YYMARKER;\r
+ if (yyaccept <= 2) {\r
+ if (yyaccept <= 1) {\r
+ if (yyaccept <= 0) {\r
+ goto yy124;\r
+ } else {\r
+ goto yy138;\r
+ }\r
+ } else {\r
+ goto yy172;\r
+ }\r
+ } else {\r
+ if (yyaccept <= 4) {\r
+ if (yyaccept <= 3) {\r
+ goto yy189;\r
+ } else {\r
+ goto yy234;\r
+ }\r
+ } else {\r
+ goto yy250;\r
+ }\r
+ }\r
+yy194:\r
+ YYDEBUG(194, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= '/') goto yy193;\r
+ if (yych >= ':') goto yy193;\r
+yy195:\r
+ YYDEBUG(195, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(196, *YYCURSOR);\r
+ if (yych <= '/') goto yy189;\r
+ if (yych <= '9') goto yy195;\r
+ goto yy189;\r
+yy197:\r
+ YYDEBUG(197, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yybm[0+yych] & 32) {\r
+ goto yy198;\r
+ }\r
+ goto yy193;\r
+yy198:\r
+ YYDEBUG(198, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(199, *YYCURSOR);\r
+ if (yybm[0+yych] & 32) {\r
+ goto yy198;\r
+ }\r
+ YYDEBUG(200, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1353 "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
+ zendlval->value.lval = 0;\r
+ } else {\r
+ zendlval->value.lval = strtol(hex, NULL, 16);\r
+ }\r
+ zendlval->type = IS_LONG;\r
+ return T_LNUMBER;\r
+ } else {\r
+ zendlval->value.dval = zend_hex_strtod(hex, NULL);\r
+ zendlval->type = IS_DOUBLE;\r
+ return T_DNUMBER;\r
+ }\r
+}\r
+#line 3183 "Zend/zend_language_scanner.c"\r
+yy201:\r
+ YYDEBUG(201, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) == '\n') goto yy203;\r
+ if (yych == '\r') goto yy204;\r
+yy202:\r
+ YYDEBUG(202, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1775 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ BEGIN(INITIAL);\r
+ return T_CLOSE_TAG; /* implicit ';' at php-end tag */\r
+}\r
+#line 3200 "Zend/zend_language_scanner.c"\r
+yy203:\r
+ YYDEBUG(203, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy202;\r
+yy204:\r
+ YYDEBUG(204, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '\n') goto yy203;\r
+ goto yy202;\r
+yy205:\r
+ YYDEBUG(205, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(206, *YYCURSOR);\r
+ if (yych <= '^') {\r
+ if (yych <= '9') {\r
+ if (yych >= '0') goto yy205;\r
+ } else {\r
+ if (yych <= '@') goto yy207;\r
+ if (yych <= 'Z') goto yy205;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych <= '_') goto yy205;\r
+ } else {\r
+ if (yych <= 'z') goto yy205;\r
+ if (yych >= 0x7F) goto yy205;\r
+ }\r
+ }\r
+yy207:\r
+ YYDEBUG(207, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1677 "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 3240 "Zend/zend_language_scanner.c"\r
+yy208:\r
+ YYDEBUG(208, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy209;\r
+ if (yych != 'r') goto yy186;\r
+yy209:\r
+ YYDEBUG(209, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(210, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1277 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_LOGICAL_XOR;\r
+}\r
+#line 3258 "Zend/zend_language_scanner.c"\r
+yy211:\r
+ YYDEBUG(211, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(212, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1269 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_LOGICAL_OR;\r
+}\r
+#line 3271 "Zend/zend_language_scanner.c"\r
+yy213:\r
+ YYDEBUG(213, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(214, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1257 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_XOR_EQUAL;\r
+}\r
+#line 3281 "Zend/zend_language_scanner.c"\r
+yy215:\r
+ YYDEBUG(215, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(216, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1261 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_BOOLEAN_OR;\r
+}\r
+#line 3291 "Zend/zend_language_scanner.c"\r
+yy217:\r
+ YYDEBUG(217, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(218, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1253 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_OR_EQUAL;\r
+}\r
+#line 3301 "Zend/zend_language_scanner.c"\r
+yy219:\r
+ YYDEBUG(219, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(220, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1265 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_BOOLEAN_AND;\r
+}\r
+#line 3311 "Zend/zend_language_scanner.c"\r
+yy221:\r
+ YYDEBUG(221, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(222, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1249 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_AND_EQUAL;\r
+}\r
+#line 3321 "Zend/zend_language_scanner.c"\r
+yy223:\r
+ YYDEBUG(223, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) == '\n') goto yy227;\r
+ if (yych == '\r') goto yy228;\r
+yy224:\r
+ YYDEBUG(224, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1784 "Zend/zend_language_scanner.l"\r
+ {\r
+ if (CG(asp_tags)) {\r
+ BEGIN(INITIAL);\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ zendlval->value.str.val = yytext; /* 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 3343 "Zend/zend_language_scanner.c"\r
+yy225:\r
+ YYDEBUG(225, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(226, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1237 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_MOD_EQUAL;\r
+}\r
+#line 3353 "Zend/zend_language_scanner.c"\r
+yy227:\r
+ YYDEBUG(227, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy224;\r
+yy228:\r
+ YYDEBUG(228, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '\n') goto yy227;\r
+ goto yy224;\r
+yy229:\r
+ YYDEBUG(229, *YYCURSOR);\r
+ yyaccept = 3;\r
+ YYMARKER = ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(230, *YYCURSOR);\r
+ if (yych <= 'D') {\r
+ if (yych <= '/') goto yy189;\r
+ if (yych <= '9') goto yy229;\r
+ goto yy189;\r
+ } else {\r
+ if (yych <= 'E') goto yy192;\r
+ if (yych == 'e') goto yy192;\r
+ goto yy189;\r
+ }\r
+yy231:\r
+ YYDEBUG(231, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(232, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1233 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CONCAT_EQUAL;\r
+}\r
+#line 3388 "Zend/zend_language_scanner.c"\r
+yy233:\r
+ YYDEBUG(233, *YYCURSOR);\r
+ yyaccept = 4;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych == '*') goto yy238;\r
+yy234:\r
+ YYDEBUG(234, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1741 "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 3431 "Zend/zend_language_scanner.c"\r
+yy235:\r
+ YYDEBUG(235, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy176;\r
+yy236:\r
+ YYDEBUG(236, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(237, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1229 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DIV_EQUAL;\r
+}\r
+#line 3445 "Zend/zend_language_scanner.c"\r
+yy238:\r
+ YYDEBUG(238, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yybm[0+yych] & 64) {\r
+ goto yy239;\r
+ }\r
+ goto yy193;\r
+yy239:\r
+ YYDEBUG(239, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(240, *YYCURSOR);\r
+ if (yybm[0+yych] & 64) {\r
+ goto yy239;\r
+ }\r
+ goto yy234;\r
+yy241:\r
+ YYDEBUG(241, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(242, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1225 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_MUL_EQUAL;\r
+}\r
+#line 3472 "Zend/zend_language_scanner.c"\r
+yy243:\r
+ YYDEBUG(243, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) == '=') goto yy247;\r
+ YYDEBUG(244, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1285 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_SR;\r
+}\r
+#line 3483 "Zend/zend_language_scanner.c"\r
+yy245:\r
+ YYDEBUG(245, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(246, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1213 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_GREATER_OR_EQUAL;\r
+}\r
+#line 3493 "Zend/zend_language_scanner.c"\r
+yy247:\r
+ YYDEBUG(247, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(248, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1245 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_SR_EQUAL;\r
+}\r
+#line 3503 "Zend/zend_language_scanner.c"\r
+yy249:\r
+ YYDEBUG(249, *YYCURSOR);\r
+ yyaccept = 5;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= ';') goto yy250;\r
+ if (yych <= '<') goto yy265;\r
+ if (yych <= '=') goto yy263;\r
+yy250:\r
+ YYDEBUG(250, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1281 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_SL;\r
+}\r
+#line 3518 "Zend/zend_language_scanner.c"\r
+yy251:\r
+ YYDEBUG(251, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy256;\r
+ if (yych == 's') goto yy256;\r
+ goto yy193;\r
+yy252:\r
+ YYDEBUG(252, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(253, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1209 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_SMALLER_OR_EQUAL;\r
+}\r
+#line 3534 "Zend/zend_language_scanner.c"\r
+yy254:\r
+ YYDEBUG(254, *YYCURSOR);\r
+ ++YYCURSOR;\r
+yy255:\r
+ YYDEBUG(255, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1205 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_NOT_EQUAL;\r
+}\r
+#line 3545 "Zend/zend_language_scanner.c"\r
+yy256:\r
+ YYDEBUG(256, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy257;\r
+ if (yych != 'c') goto yy193;\r
+yy257:\r
+ YYDEBUG(257, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy258;\r
+ if (yych != 'r') goto yy193;\r
+yy258:\r
+ YYDEBUG(258, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy259;\r
+ if (yych != 'i') goto yy193;\r
+yy259:\r
+ YYDEBUG(259, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy260;\r
+ if (yych != 'p') goto yy193;\r
+yy260:\r
+ YYDEBUG(260, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy261;\r
+ if (yych != 't') goto yy193;\r
+yy261:\r
+ YYDEBUG(261, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(262, *YYCURSOR);\r
+ if (yych <= '\r') {\r
+ if (yych <= 0x08) goto yy193;\r
+ if (yych <= '\n') goto yy261;\r
+ if (yych <= '\f') goto yy193;\r
+ goto yy261;\r
+ } else {\r
+ if (yych <= ' ') {\r
+ if (yych <= 0x1F) goto yy193;\r
+ goto yy261;\r
+ } else {\r
+ if (yych == '>') goto yy201;\r
+ goto yy193;\r
+ }\r
+ }\r
+yy263:\r
+ YYDEBUG(263, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(264, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1241 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_SL_EQUAL;\r
+}\r
+#line 3600 "Zend/zend_language_scanner.c"\r
+yy265:\r
+ YYDEBUG(265, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(2);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(266, *YYCURSOR);\r
+ if (yybm[0+yych] & 128) {\r
+ goto yy265;\r
+ }\r
+ if (yych <= 'Z') {\r
+ if (yych <= '&') {\r
+ if (yych == '"') goto yy270;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= '\'') goto yy269;\r
+ if (yych <= '@') goto yy193;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych != '_') goto yy193;\r
+ } else {\r
+ if (yych <= 'z') goto yy267;\r
+ if (yych <= '~') goto yy193;\r
+ }\r
+ }\r
+yy267:\r
+ YYDEBUG(267, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(2);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(268, *YYCURSOR);\r
+ if (yych <= '@') {\r
+ if (yych <= '\f') {\r
+ if (yych == '\n') goto yy274;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= '\r') goto yy276;\r
+ if (yych <= '/') goto yy193;\r
+ if (yych <= '9') goto yy267;\r
+ goto yy193;\r
+ }\r
+ } else {\r
+ if (yych <= '_') {\r
+ if (yych <= 'Z') goto yy267;\r
+ if (yych <= '^') goto yy193;\r
+ goto yy267;\r
+ } else {\r
+ if (yych <= '`') goto yy193;\r
+ if (yych <= 'z') goto yy267;\r
+ if (yych <= '~') goto yy193;\r
+ goto yy267;\r
+ }\r
+ }\r
+yy269:\r
+ YYDEBUG(269, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '\'') goto yy193;\r
+ if (yych <= '/') goto yy278;\r
+ if (yych <= '9') goto yy193;\r
+ goto yy278;\r
+yy270:\r
+ YYDEBUG(270, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '"') goto yy193;\r
+ if (yych <= '/') goto yy272;\r
+ if (yych <= '9') goto yy193;\r
+ goto yy272;\r
+yy271:\r
+ YYDEBUG(271, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+yy272:\r
+ YYDEBUG(272, *YYCURSOR);\r
+ if (yych <= 'Z') {\r
+ if (yych <= '/') {\r
+ if (yych != '"') goto yy193;\r
+ } else {\r
+ if (yych <= '9') goto yy271;\r
+ if (yych <= '@') goto yy193;\r
+ goto yy271;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych == '_') goto yy271;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= 'z') goto yy271;\r
+ if (yych <= '~') goto yy193;\r
+ goto yy271;\r
+ }\r
+ }\r
+yy273:\r
+ YYDEBUG(273, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '\n') goto yy274;\r
+ if (yych == '\r') goto yy276;\r
+ goto yy193;\r
+yy274:\r
+ YYDEBUG(274, *YYCURSOR);\r
+ ++YYCURSOR;\r
+yy275:\r
+ YYDEBUG(275, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1911 "Zend/zend_language_scanner.l"\r
+ {\r
+ char *s;\r
+ int bprefix = (yytext[0] != '<') ? 1 : 0;\r
+\r
+ /* save old heredoc label */\r
+ Z_STRVAL_P(zendlval) = CG(heredoc);\r
+ Z_STRLEN_P(zendlval) = CG(heredoc_len);\r
+\r
+ CG(zend_lineno)++;\r
+ CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);\r
+ s = yytext+bprefix+3;\r
+ while ((*s == ' ') || (*s == '\t')) {\r
+ s++;\r
+ CG(heredoc_len)--;\r
+ }\r
+\r
+ if (*s == '\'') {\r
+ s++;\r
+ CG(heredoc_len) -= 2;\r
+\r
+ BEGIN(ST_NOWDOC);\r
+ } else {\r
+ if (*s == '"') {\r
+ s++;\r
+ CG(heredoc_len) -= 2;\r
+ }\r
+\r
+ BEGIN(ST_HEREDOC);\r
+ }\r
+\r
+ CG(heredoc) = estrndup(s, CG(heredoc_len));\r
+\r
+ /* Check for ending label on the next line */\r
+ if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, CG(heredoc_len))) {\r
+ YYCTYPE *end = YYCURSOR + CG(heredoc_len);\r
+\r
+ if (*end == ';') {\r
+ end++;\r
+ }\r
+\r
+ if (*end == '\n' || *end == '\r') {\r
+ BEGIN(ST_END_HEREDOC);\r
+ }\r
+ }\r
+\r
+ return T_START_HEREDOC;\r
+}\r
+#line 3753 "Zend/zend_language_scanner.c"\r
+yy276:\r
+ YYDEBUG(276, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '\n') goto yy274;\r
+ goto yy275;\r
+yy277:\r
+ YYDEBUG(277, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+yy278:\r
+ YYDEBUG(278, *YYCURSOR);\r
+ if (yych <= 'Z') {\r
+ if (yych <= '/') {\r
+ if (yych == '\'') goto yy273;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= '9') goto yy277;\r
+ if (yych <= '@') goto yy193;\r
+ goto yy277;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych == '_') goto yy277;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= 'z') goto yy277;\r
+ if (yych <= '~') goto yy193;\r
+ goto yy277;\r
+ }\r
+ }\r
+yy279:\r
+ YYDEBUG(279, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '=') goto yy255;\r
+ YYDEBUG(280, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(281, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1197 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_NOT_IDENTICAL;\r
+}\r
+#line 3797 "Zend/zend_language_scanner.c"\r
+yy282:\r
+ YYDEBUG(282, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(283, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1217 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PLUS_EQUAL;\r
+}\r
+#line 3807 "Zend/zend_language_scanner.c"\r
+yy284:\r
+ YYDEBUG(284, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(285, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1185 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INC;\r
+}\r
+#line 3817 "Zend/zend_language_scanner.c"\r
+yy286:\r
+ YYDEBUG(286, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy287;\r
+ if (yych != 's') goto yy186;\r
+yy287:\r
+ YYDEBUG(287, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy288;\r
+ if (yych != 't') goto yy186;\r
+yy288:\r
+ YYDEBUG(288, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(289, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1177 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_LIST;\r
+}\r
+#line 3840 "Zend/zend_language_scanner.c"\r
+yy290:\r
+ YYDEBUG(290, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) == '=') goto yy294;\r
+ YYDEBUG(291, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1201 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_EQUAL;\r
+}\r
+#line 3851 "Zend/zend_language_scanner.c"\r
+yy292:\r
+ YYDEBUG(292, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(293, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1173 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DOUBLE_ARROW;\r
+}\r
+#line 3861 "Zend/zend_language_scanner.c"\r
+yy294:\r
+ YYDEBUG(294, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(295, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1193 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IS_IDENTICAL;\r
+}\r
+#line 3871 "Zend/zend_language_scanner.c"\r
+yy296:\r
+ YYDEBUG(296, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ YYDEBUG(-1, yych);\r
+ switch (yych) {\r
+ case 'C':\r
+ case 'c': goto yy298;\r
+ case 'D':\r
+ case 'd': goto yy302;\r
+ case 'F':\r
+ case 'f': goto yy299;\r
+ case 'H':\r
+ case 'h': goto yy297;\r
+ case 'L':\r
+ case 'l': goto yy301;\r
+ case 'M':\r
+ case 'm': goto yy300;\r
+ case 'N':\r
+ case 'n': goto yy303;\r
+ default: goto yy186;\r
+ }\r
+yy297:\r
+ YYDEBUG(297, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy357;\r
+ if (yych == 'a') goto yy357;\r
+ goto yy186;\r
+yy298:\r
+ YYDEBUG(298, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy350;\r
+ if (yych == 'l') goto yy350;\r
+ goto yy186;\r
+yy299:\r
+ YYDEBUG(299, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'U') {\r
+ if (yych == 'I') goto yy334;\r
+ if (yych <= 'T') goto yy186;\r
+ goto yy335;\r
+ } else {\r
+ if (yych <= 'i') {\r
+ if (yych <= 'h') goto yy186;\r
+ goto yy334;\r
+ } else {\r
+ if (yych == 'u') goto yy335;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy300:\r
+ YYDEBUG(300, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy326;\r
+ if (yych == 'e') goto yy326;\r
+ goto yy186;\r
+yy301:\r
+ YYDEBUG(301, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy320;\r
+ if (yych == 'i') goto yy320;\r
+ goto yy186;\r
+yy302:\r
+ YYDEBUG(302, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy315;\r
+ if (yych == 'i') goto yy315;\r
+ goto yy186;\r
+yy303:\r
+ YYDEBUG(303, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy304;\r
+ if (yych != 'a') goto yy186;\r
+yy304:\r
+ YYDEBUG(304, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'M') goto yy305;\r
+ if (yych != 'm') goto yy186;\r
+yy305:\r
+ YYDEBUG(305, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy306;\r
+ if (yych != 'e') goto yy186;\r
+yy306:\r
+ YYDEBUG(306, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy307;\r
+ if (yych != 's') goto yy186;\r
+yy307:\r
+ YYDEBUG(307, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy308;\r
+ if (yych != 'p') goto yy186;\r
+yy308:\r
+ YYDEBUG(308, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy309;\r
+ if (yych != 'a') goto yy186;\r
+yy309:\r
+ YYDEBUG(309, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy310;\r
+ if (yych != 'c') goto yy186;\r
+yy310:\r
+ YYDEBUG(310, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy311;\r
+ if (yych != 'e') goto yy186;\r
+yy311:\r
+ YYDEBUG(311, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(312, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(313, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(314, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1501 "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 4003 "Zend/zend_language_scanner.c"\r
+yy315:\r
+ YYDEBUG(315, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy316;\r
+ if (yych != 'r') goto yy186;\r
+yy316:\r
+ YYDEBUG(316, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(317, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(318, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(319, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1474 "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
+ zendlval->value.str.len = strlen(dirname);\r
+ zendlval->value.str.val = dirname;\r
+ zendlval->type = IS_STRING;\r
+ return T_DIR;\r
+}\r
+#line 4050 "Zend/zend_language_scanner.c"\r
+yy320:\r
+ YYDEBUG(320, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy321;\r
+ if (yych != 'n') goto yy186;\r
+yy321:\r
+ YYDEBUG(321, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy322;\r
+ if (yych != 'e') goto yy186;\r
+yy322:\r
+ YYDEBUG(322, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(323, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(324, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(325, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1456 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.lval = CG(zend_lineno);\r
+ zendlval->type = IS_LONG;\r
+ return T_LINE;\r
+}\r
+#line 4081 "Zend/zend_language_scanner.c"\r
+yy326:\r
+ YYDEBUG(326, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy327;\r
+ if (yych != 't') goto yy186;\r
+yy327:\r
+ YYDEBUG(327, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy328;\r
+ if (yych != 'h') goto yy186;\r
+yy328:\r
+ YYDEBUG(328, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy329;\r
+ if (yych != 'o') goto yy186;\r
+yy329:\r
+ YYDEBUG(329, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy330;\r
+ if (yych != 'd') goto yy186;\r
+yy330:\r
+ YYDEBUG(330, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(331, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(332, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(333, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1435 "Zend/zend_language_scanner.l"\r
+ {\r
+ char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;\r
+ char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;\r
+ size_t len = 0;\r
+\r
+ if (class_name) {\r
+ len += strlen(class_name) + 2;\r
+ }\r
+ if (func_name) {\r
+ len += strlen(func_name);\r
+ }\r
+\r
+ zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 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 4137 "Zend/zend_language_scanner.c"\r
+yy334:\r
+ YYDEBUG(334, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy345;\r
+ if (yych == 'l') goto yy345;\r
+ goto yy186;\r
+yy335:\r
+ YYDEBUG(335, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy336;\r
+ if (yych != 'n') goto yy186;\r
+yy336:\r
+ YYDEBUG(336, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy337;\r
+ if (yych != 'c') goto yy186;\r
+yy337:\r
+ YYDEBUG(337, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy338;\r
+ if (yych != 't') goto yy186;\r
+yy338:\r
+ YYDEBUG(338, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy339;\r
+ if (yych != 'i') goto yy186;\r
+yy339:\r
+ YYDEBUG(339, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy340;\r
+ if (yych != 'o') goto yy186;\r
+yy340:\r
+ YYDEBUG(340, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy341;\r
+ if (yych != 'n') goto yy186;\r
+yy341:\r
+ YYDEBUG(341, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(342, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(343, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(344, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1419 "Zend/zend_language_scanner.l"\r
+ {\r
+ char *func_name = NULL;\r
+\r
+ if (CG(active_op_array)) {\r
+ func_name = CG(active_op_array)->function_name;\r
+ }\r
+\r
+ if (!func_name) {\r
+ func_name = "";\r
+ }\r
+ zendlval->value.str.len = strlen(func_name);\r
+ zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);\r
+ zendlval->type = IS_STRING;\r
+ return T_FUNC_C;\r
+}\r
+#line 4204 "Zend/zend_language_scanner.c"\r
+yy345:\r
+ YYDEBUG(345, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy346;\r
+ if (yych != 'e') goto yy186;\r
+yy346:\r
+ YYDEBUG(346, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(347, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(348, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(349, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1462 "Zend/zend_language_scanner.l"\r
+ {\r
+ char *filename = zend_get_compiled_filename(TSRMLS_C);\r
+\r
+ if (!filename) {\r
+ filename = "";\r
+ }\r
+ zendlval->value.str.len = strlen(filename);\r
+ zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);\r
+ zendlval->type = IS_STRING;\r
+ return T_FILE;\r
+}\r
+#line 4236 "Zend/zend_language_scanner.c"\r
+yy350:\r
+ YYDEBUG(350, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy351;\r
+ if (yych != 'a') goto yy186;\r
+yy351:\r
+ YYDEBUG(351, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy352;\r
+ if (yych != 's') goto yy186;\r
+yy352:\r
+ YYDEBUG(352, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy353;\r
+ if (yych != 's') goto yy186;\r
+yy353:\r
+ YYDEBUG(353, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(354, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(355, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(356, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1403 "Zend/zend_language_scanner.l"\r
+ {\r
+ char *class_name = NULL;\r
+\r
+ if (CG(active_class_entry)) {\r
+ class_name = CG(active_class_entry)->name;\r
+ }\r
+\r
+ if (!class_name) {\r
+ class_name = "";\r
+ }\r
+ zendlval->value.str.len = strlen(class_name);\r
+ zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);\r
+ zendlval->type = IS_STRING;\r
+ return T_CLASS_C;\r
+}\r
+#line 4282 "Zend/zend_language_scanner.c"\r
+yy357:\r
+ YYDEBUG(357, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy358;\r
+ if (yych != 'l') goto yy186;\r
+yy358:\r
+ YYDEBUG(358, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy359;\r
+ if (yych != 't') goto yy186;\r
+yy359:\r
+ YYDEBUG(359, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych != '_') goto yy186;\r
+ YYDEBUG(360, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy361;\r
+ if (yych != 'c') goto yy186;\r
+yy361:\r
+ YYDEBUG(361, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy362;\r
+ if (yych != 'o') goto yy186;\r
+yy362:\r
+ YYDEBUG(362, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'M') goto yy363;\r
+ if (yych != 'm') goto yy186;\r
+yy363:\r
+ YYDEBUG(363, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy364;\r
+ if (yych != 'p') goto yy186;\r
+yy364:\r
+ YYDEBUG(364, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy365;\r
+ if (yych != 'i') goto yy186;\r
+yy365:\r
+ YYDEBUG(365, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy366;\r
+ if (yych != 'l') goto yy186;\r
+yy366:\r
+ YYDEBUG(366, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy367;\r
+ if (yych != 'e') goto yy186;\r
+yy367:\r
+ YYDEBUG(367, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy368;\r
+ if (yych != 'r') goto yy186;\r
+yy368:\r
+ YYDEBUG(368, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(369, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1141 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_HALT_COMPILER;\r
+}\r
+#line 4348 "Zend/zend_language_scanner.c"\r
+yy370:\r
+ YYDEBUG(370, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy374;\r
+ if (yych == 's') goto yy374;\r
+ goto yy186;\r
+yy371:\r
+ YYDEBUG(371, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy372;\r
+ if (yych != 'e') goto yy186;\r
+yy372:\r
+ YYDEBUG(372, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(373, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1125 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_USE;\r
+}\r
+#line 4372 "Zend/zend_language_scanner.c"\r
+yy374:\r
+ YYDEBUG(374, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy375;\r
+ if (yych != 'e') goto yy186;\r
+yy375:\r
+ YYDEBUG(375, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy376;\r
+ if (yych != 't') goto yy186;\r
+yy376:\r
+ YYDEBUG(376, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(377, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1169 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_UNSET;\r
+}\r
+#line 4395 "Zend/zend_language_scanner.c"\r
+yy378:\r
+ YYDEBUG(378, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(7);\r
+ yych = *YYCURSOR;\r
+yy379:\r
+ YYDEBUG(379, *YYCURSOR);\r
+ if (yych <= 'S') {\r
+ if (yych <= 'D') {\r
+ if (yych <= ' ') {\r
+ if (yych == '\t') goto yy378;\r
+ if (yych <= 0x1F) goto yy193;\r
+ goto yy378;\r
+ } else {\r
+ if (yych <= 'A') {\r
+ if (yych <= '@') goto yy193;\r
+ goto yy383;\r
+ } else {\r
+ if (yych <= 'B') goto yy381;\r
+ if (yych <= 'C') goto yy193;\r
+ goto yy386;\r
+ }\r
+ }\r
+ } else {\r
+ if (yych <= 'I') {\r
+ if (yych == 'F') goto yy387;\r
+ if (yych <= 'H') goto yy193;\r
+ goto yy388;\r
+ } else {\r
+ if (yych <= 'O') {\r
+ if (yych <= 'N') goto yy193;\r
+ goto yy382;\r
+ } else {\r
+ if (yych <= 'Q') goto yy193;\r
+ if (yych <= 'R') goto yy385;\r
+ goto yy384;\r
+ }\r
+ }\r
+ }\r
+ } else {\r
+ if (yych <= 'f') {\r
+ if (yych <= 'a') {\r
+ if (yych == 'U') goto yy380;\r
+ if (yych <= '`') goto yy193;\r
+ goto yy383;\r
+ } else {\r
+ if (yych <= 'c') {\r
+ if (yych <= 'b') goto yy381;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= 'd') goto yy386;\r
+ if (yych <= 'e') goto yy193;\r
+ goto yy387;\r
+ }\r
+ }\r
+ } else {\r
+ if (yych <= 'q') {\r
+ if (yych <= 'i') {\r
+ if (yych <= 'h') goto yy193;\r
+ goto yy388;\r
+ } else {\r
+ if (yych == 'o') goto yy382;\r
+ goto yy193;\r
+ }\r
+ } else {\r
+ if (yych <= 's') {\r
+ if (yych <= 'r') goto yy385;\r
+ goto yy384;\r
+ } else {\r
+ if (yych != 'u') goto yy193;\r
+ }\r
+ }\r
+ }\r
+ }\r
+yy380:\r
+ YYDEBUG(380, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy451;\r
+ if (yych == 'n') goto yy451;\r
+ goto yy193;\r
+yy381:\r
+ YYDEBUG(381, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'O') {\r
+ if (yych == 'I') goto yy434;\r
+ if (yych <= 'N') goto yy193;\r
+ goto yy435;\r
+ } else {\r
+ if (yych <= 'i') {\r
+ if (yych <= 'h') goto yy193;\r
+ goto yy434;\r
+ } else {\r
+ if (yych == 'o') goto yy435;\r
+ goto yy193;\r
+ }\r
+ }\r
+yy382:\r
+ YYDEBUG(382, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'B') goto yy426;\r
+ if (yych == 'b') goto yy426;\r
+ goto yy193;\r
+yy383:\r
+ YYDEBUG(383, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy419;\r
+ if (yych == 'r') goto yy419;\r
+ goto yy193;\r
+yy384:\r
+ YYDEBUG(384, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy411;\r
+ if (yych == 't') goto yy411;\r
+ goto yy193;\r
+yy385:\r
+ YYDEBUG(385, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy409;\r
+ if (yych == 'e') goto yy409;\r
+ goto yy193;\r
+yy386:\r
+ YYDEBUG(386, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy405;\r
+ if (yych == 'o') goto yy405;\r
+ goto yy193;\r
+yy387:\r
+ YYDEBUG(387, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy398;\r
+ if (yych == 'l') goto yy398;\r
+ goto yy193;\r
+yy388:\r
+ YYDEBUG(388, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy389;\r
+ if (yych != 'n') goto yy193;\r
+yy389:\r
+ YYDEBUG(389, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy390;\r
+ if (yych != 't') goto yy193;\r
+yy390:\r
+ YYDEBUG(390, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy391;\r
+ if (yych != 'e') goto yy393;\r
+yy391:\r
+ YYDEBUG(391, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'G') goto yy396;\r
+ if (yych == 'g') goto yy396;\r
+ goto yy193;\r
+yy392:\r
+ YYDEBUG(392, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy393:\r
+ YYDEBUG(393, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy392;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy392;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(394, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(395, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1069 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INT_CAST;\r
+}\r
+#line 4571 "Zend/zend_language_scanner.c"\r
+yy396:\r
+ YYDEBUG(396, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy397;\r
+ if (yych != 'e') goto yy193;\r
+yy397:\r
+ YYDEBUG(397, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy392;\r
+ if (yych == 'r') goto yy392;\r
+ goto yy193;\r
+yy398:\r
+ YYDEBUG(398, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy399;\r
+ if (yych != 'o') goto yy193;\r
+yy399:\r
+ YYDEBUG(399, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy400;\r
+ if (yych != 'a') goto yy193;\r
+yy400:\r
+ YYDEBUG(400, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy401;\r
+ if (yych != 't') goto yy193;\r
+yy401:\r
+ YYDEBUG(401, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(402, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy401;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy401;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(403, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(404, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1073 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DOUBLE_CAST;\r
+}\r
+#line 4619 "Zend/zend_language_scanner.c"\r
+yy405:\r
+ YYDEBUG(405, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy406;\r
+ if (yych != 'u') goto yy193;\r
+yy406:\r
+ YYDEBUG(406, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'B') goto yy407;\r
+ if (yych != 'b') goto yy193;\r
+yy407:\r
+ YYDEBUG(407, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy408;\r
+ if (yych != 'l') goto yy193;\r
+yy408:\r
+ YYDEBUG(408, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy401;\r
+ if (yych == 'e') goto yy401;\r
+ goto yy193;\r
+yy409:\r
+ YYDEBUG(409, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy410;\r
+ if (yych != 'a') goto yy193;\r
+yy410:\r
+ YYDEBUG(410, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy401;\r
+ if (yych == 'l') goto yy401;\r
+ goto yy193;\r
+yy411:\r
+ YYDEBUG(411, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy412;\r
+ if (yych != 'r') goto yy193;\r
+yy412:\r
+ YYDEBUG(412, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy413;\r
+ if (yych != 'i') goto yy193;\r
+yy413:\r
+ YYDEBUG(413, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy414;\r
+ if (yych != 'n') goto yy193;\r
+yy414:\r
+ YYDEBUG(414, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'G') goto yy415;\r
+ if (yych != 'g') goto yy193;\r
+yy415:\r
+ YYDEBUG(415, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(416, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy415;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy415;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(417, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(418, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1077 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_STRING_CAST;\r
+}\r
+#line 4693 "Zend/zend_language_scanner.c"\r
+yy419:\r
+ YYDEBUG(419, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy420;\r
+ if (yych != 'r') goto yy193;\r
+yy420:\r
+ YYDEBUG(420, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy421;\r
+ if (yych != 'a') goto yy193;\r
+yy421:\r
+ YYDEBUG(421, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'Y') goto yy422;\r
+ if (yych != 'y') goto yy193;\r
+yy422:\r
+ YYDEBUG(422, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(423, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy422;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy422;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(424, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(425, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1085 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ARRAY_CAST;\r
+}\r
+#line 4730 "Zend/zend_language_scanner.c"\r
+yy426:\r
+ YYDEBUG(426, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'J') goto yy427;\r
+ if (yych != 'j') goto yy193;\r
+yy427:\r
+ YYDEBUG(427, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy428;\r
+ if (yych != 'e') goto yy193;\r
+yy428:\r
+ YYDEBUG(428, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy429;\r
+ if (yych != 'c') goto yy193;\r
+yy429:\r
+ YYDEBUG(429, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy430;\r
+ if (yych != 't') goto yy193;\r
+yy430:\r
+ YYDEBUG(430, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(431, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy430;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy430;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(432, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(433, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1089 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_OBJECT_CAST;\r
+}\r
+#line 4772 "Zend/zend_language_scanner.c"\r
+yy434:\r
+ YYDEBUG(434, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy444;\r
+ if (yych == 'n') goto yy444;\r
+ goto yy193;\r
+yy435:\r
+ YYDEBUG(435, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy436;\r
+ if (yych != 'o') goto yy193;\r
+yy436:\r
+ YYDEBUG(436, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy437;\r
+ if (yych != 'l') goto yy193;\r
+yy437:\r
+ YYDEBUG(437, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy442;\r
+ if (yych == 'e') goto yy442;\r
+ goto yy439;\r
+yy438:\r
+ YYDEBUG(438, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy439:\r
+ YYDEBUG(439, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy438;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy438;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(440, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(441, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1093 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_BOOL_CAST;\r
+}\r
+#line 4817 "Zend/zend_language_scanner.c"\r
+yy442:\r
+ YYDEBUG(442, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy443;\r
+ if (yych != 'a') goto yy193;\r
+yy443:\r
+ YYDEBUG(443, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy438;\r
+ if (yych == 'n') goto yy438;\r
+ goto yy193;\r
+yy444:\r
+ YYDEBUG(444, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy445;\r
+ if (yych != 'a') goto yy193;\r
+yy445:\r
+ YYDEBUG(445, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy446;\r
+ if (yych != 'r') goto yy193;\r
+yy446:\r
+ YYDEBUG(446, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'Y') goto yy447;\r
+ if (yych != 'y') goto yy193;\r
+yy447:\r
+ YYDEBUG(447, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(448, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy447;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy447;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(449, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(450, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1081 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_STRING_CAST;\r
+}\r
+#line 4865 "Zend/zend_language_scanner.c"\r
+yy451:\r
+ YYDEBUG(451, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy452;\r
+ if (yych != 's') goto yy193;\r
+yy452:\r
+ YYDEBUG(452, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy453;\r
+ if (yych != 'e') goto yy193;\r
+yy453:\r
+ YYDEBUG(453, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy454;\r
+ if (yych != 't') goto yy193;\r
+yy454:\r
+ YYDEBUG(454, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(455, *YYCURSOR);\r
+ if (yych <= 0x1F) {\r
+ if (yych == '\t') goto yy454;\r
+ goto yy193;\r
+ } else {\r
+ if (yych <= ' ') goto yy454;\r
+ if (yych != ')') goto yy193;\r
+ }\r
+ YYDEBUG(456, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(457, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1097 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_UNSET_CAST;\r
+}\r
+#line 4902 "Zend/zend_language_scanner.c"\r
+yy458:\r
+ YYDEBUG(458, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy459;\r
+ if (yych != 'r') goto yy186;\r
+yy459:\r
+ YYDEBUG(459, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(460, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1065 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_VAR;\r
+}\r
+#line 4920 "Zend/zend_language_scanner.c"\r
+yy461:\r
+ YYDEBUG(461, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'M') goto yy465;\r
+ if (yych == 'm') goto yy465;\r
+ goto yy186;\r
+yy462:\r
+ YYDEBUG(462, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'W') goto yy463;\r
+ if (yych != 'w') goto yy186;\r
+yy463:\r
+ YYDEBUG(463, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(464, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1057 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_NEW;\r
+}\r
+#line 4944 "Zend/zend_language_scanner.c"\r
+yy465:\r
+ YYDEBUG(465, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy466;\r
+ if (yych != 'e') goto yy186;\r
+yy466:\r
+ YYDEBUG(466, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy467;\r
+ if (yych != 's') goto yy186;\r
+yy467:\r
+ YYDEBUG(467, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy468;\r
+ if (yych != 'p') goto yy186;\r
+yy468:\r
+ YYDEBUG(468, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy469;\r
+ if (yych != 'a') goto yy186;\r
+yy469:\r
+ YYDEBUG(469, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy470;\r
+ if (yych != 'c') goto yy186;\r
+yy470:\r
+ YYDEBUG(470, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy471;\r
+ if (yych != 'e') goto yy186;\r
+yy471:\r
+ YYDEBUG(471, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(472, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1121 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_NAMESPACE;\r
+}\r
+#line 4987 "Zend/zend_language_scanner.c"\r
+yy473:\r
+ YYDEBUG(473, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(474, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1049 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PAAMAYIM_NEKUDOTAYIM;\r
+}\r
+#line 4997 "Zend/zend_language_scanner.c"\r
+yy475:\r
+ YYDEBUG(475, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy476:\r
+ YYDEBUG(476, *YYCURSOR);\r
+ if (yych <= '\f') {\r
+ if (yych <= 0x08) goto yy140;\r
+ if (yych <= '\n') goto yy475;\r
+ goto yy140;\r
+ } else {\r
+ if (yych <= '\r') goto yy475;\r
+ if (yych == ' ') goto yy475;\r
+ goto yy140;\r
+ }\r
+yy477:\r
+ YYDEBUG(477, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(478, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1221 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_MINUS_EQUAL;\r
+}\r
+#line 5023 "Zend/zend_language_scanner.c"\r
+yy479:\r
+ YYDEBUG(479, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(480, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1189 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DEC;\r
+}\r
+#line 5033 "Zend/zend_language_scanner.c"\r
+yy481:\r
+ YYDEBUG(481, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(482, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1019 "Zend/zend_language_scanner.l"\r
+ {\r
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);\r
+ return T_OBJECT_OPERATOR;\r
+}\r
+#line 5044 "Zend/zend_language_scanner.c"\r
+yy483:\r
+ YYDEBUG(483, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'O') {\r
+ if (yych == 'I') goto yy490;\r
+ if (yych <= 'N') goto yy186;\r
+ goto yy491;\r
+ } else {\r
+ if (yych <= 'i') {\r
+ if (yych <= 'h') goto yy186;\r
+ goto yy490;\r
+ } else {\r
+ if (yych == 'o') goto yy491;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy484:\r
+ YYDEBUG(484, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'B') goto yy485;\r
+ if (yych != 'b') goto yy186;\r
+yy485:\r
+ YYDEBUG(485, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy486;\r
+ if (yych != 'l') goto yy186;\r
+yy486:\r
+ YYDEBUG(486, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy487;\r
+ if (yych != 'i') goto yy186;\r
+yy487:\r
+ YYDEBUG(487, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy488;\r
+ if (yych != 'c') goto yy186;\r
+yy488:\r
+ YYDEBUG(488, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(489, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1165 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PUBLIC;\r
+}\r
+#line 5093 "Zend/zend_language_scanner.c"\r
+yy490:\r
+ YYDEBUG(490, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'V') {\r
+ if (yych == 'N') goto yy499;\r
+ if (yych <= 'U') goto yy186;\r
+ goto yy500;\r
+ } else {\r
+ if (yych <= 'n') {\r
+ if (yych <= 'm') goto yy186;\r
+ goto yy499;\r
+ } else {\r
+ if (yych == 'v') goto yy500;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy491:\r
+ YYDEBUG(491, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy492;\r
+ if (yych != 't') goto yy186;\r
+yy492:\r
+ YYDEBUG(492, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy493;\r
+ if (yych != 'e') goto yy186;\r
+yy493:\r
+ YYDEBUG(493, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy494;\r
+ if (yych != 'c') goto yy186;\r
+yy494:\r
+ YYDEBUG(494, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy495;\r
+ if (yych != 't') goto yy186;\r
+yy495:\r
+ YYDEBUG(495, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy496;\r
+ if (yych != 'e') goto yy186;\r
+yy496:\r
+ YYDEBUG(496, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy497;\r
+ if (yych != 'd') goto yy186;\r
+yy497:\r
+ YYDEBUG(497, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(498, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1161 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PROTECTED;\r
+}\r
+#line 5152 "Zend/zend_language_scanner.c"\r
+yy499:\r
+ YYDEBUG(499, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy505;\r
+ if (yych == 't') goto yy505;\r
+ goto yy186;\r
+yy500:\r
+ YYDEBUG(500, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy501;\r
+ if (yych != 'a') goto yy186;\r
+yy501:\r
+ YYDEBUG(501, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy502;\r
+ if (yych != 't') goto yy186;\r
+yy502:\r
+ YYDEBUG(502, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy503;\r
+ if (yych != 'e') goto yy186;\r
+yy503:\r
+ YYDEBUG(503, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(504, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1157 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PRIVATE;\r
+}\r
+#line 5186 "Zend/zend_language_scanner.c"\r
+yy505:\r
+ YYDEBUG(505, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(506, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 999 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_PRINT;\r
+}\r
+#line 5199 "Zend/zend_language_scanner.c"\r
+yy507:\r
+ YYDEBUG(507, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy512;\r
+ if (yych == 'o') goto yy512;\r
+ goto yy186;\r
+yy508:\r
+ YYDEBUG(508, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy509;\r
+ if (yych != 't') goto yy186;\r
+yy509:\r
+ YYDEBUG(509, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy510;\r
+ if (yych != 'o') goto yy186;\r
+yy510:\r
+ YYDEBUG(510, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(511, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 991 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_GOTO;\r
+}\r
+#line 5228 "Zend/zend_language_scanner.c"\r
+yy512:\r
+ YYDEBUG(512, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'B') goto yy513;\r
+ if (yych != 'b') goto yy186;\r
+yy513:\r
+ YYDEBUG(513, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy514;\r
+ if (yych != 'a') goto yy186;\r
+yy514:\r
+ YYDEBUG(514, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy515;\r
+ if (yych != 'l') goto yy186;\r
+yy515:\r
+ YYDEBUG(515, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(516, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1129 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_GLOBAL;\r
+}\r
+#line 5256 "Zend/zend_language_scanner.c"\r
+yy517:\r
+ YYDEBUG(517, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '<') goto yy525;\r
+ goto yy193;\r
+yy518:\r
+ YYDEBUG(518, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy180;\r
+yy519:\r
+ YYDEBUG(519, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy178;\r
+yy520:\r
+ YYDEBUG(520, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy521;\r
+ if (yych != 'e') goto yy186;\r
+yy521:\r
+ YYDEBUG(521, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy522;\r
+ if (yych != 'a') goto yy186;\r
+yy522:\r
+ YYDEBUG(522, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'K') goto yy523;\r
+ if (yych != 'k') goto yy186;\r
+yy523:\r
+ YYDEBUG(523, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(524, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 983 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_BREAK;\r
+}\r
+#line 5297 "Zend/zend_language_scanner.c"\r
+yy525:\r
+ YYDEBUG(525, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == '<') goto yy265;\r
+ goto yy193;\r
+yy526:\r
+ YYDEBUG(526, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy533;\r
+ if (yych == 'a') goto yy533;\r
+ goto yy186;\r
+yy527:\r
+ YYDEBUG(527, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy528;\r
+ if (yych != 'i') goto yy186;\r
+yy528:\r
+ YYDEBUG(528, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy529;\r
+ if (yych != 't') goto yy186;\r
+yy529:\r
+ YYDEBUG(529, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy530;\r
+ if (yych != 'c') goto yy186;\r
+yy530:\r
+ YYDEBUG(530, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy531;\r
+ if (yych != 'h') goto yy186;\r
+yy531:\r
+ YYDEBUG(531, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(532, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 967 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_SWITCH;\r
+}\r
+#line 5341 "Zend/zend_language_scanner.c"\r
+yy533:\r
+ YYDEBUG(533, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy534;\r
+ if (yych != 't') goto yy186;\r
+yy534:\r
+ YYDEBUG(534, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy535;\r
+ if (yych != 'i') goto yy186;\r
+yy535:\r
+ YYDEBUG(535, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy536;\r
+ if (yych != 'c') goto yy186;\r
+yy536:\r
+ YYDEBUG(536, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(537, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1145 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_STATIC;\r
+}\r
+#line 5369 "Zend/zend_language_scanner.c"\r
+yy538:\r
+ YYDEBUG(538, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy549;\r
+ if (yych == 's') goto yy549;\r
+ goto yy186;\r
+yy539:\r
+ YYDEBUG(539, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy547;\r
+ if (yych == 'd') goto yy547;\r
+ goto yy186;\r
+yy540:\r
+ YYDEBUG(540, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy543;\r
+ if (yych == 'r') goto yy543;\r
+ goto yy186;\r
+yy541:\r
+ YYDEBUG(541, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(542, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 963 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_AS;\r
+}\r
+#line 5400 "Zend/zend_language_scanner.c"\r
+yy543:\r
+ YYDEBUG(543, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy544;\r
+ if (yych != 'a') goto yy186;\r
+yy544:\r
+ YYDEBUG(544, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'Y') goto yy545;\r
+ if (yych != 'y') goto yy186;\r
+yy545:\r
+ YYDEBUG(545, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(546, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1181 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ARRAY;\r
+}\r
+#line 5423 "Zend/zend_language_scanner.c"\r
+yy547:\r
+ YYDEBUG(547, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(548, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1273 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_LOGICAL_AND;\r
+}\r
+#line 5436 "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 yy186;\r
+yy550:\r
+ YYDEBUG(550, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy551;\r
+ if (yych != 'r') goto yy186;\r
+yy551:\r
+ YYDEBUG(551, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy552;\r
+ if (yych != 'a') goto yy186;\r
+yy552:\r
+ YYDEBUG(552, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy553;\r
+ if (yych != 'c') goto yy186;\r
+yy553:\r
+ YYDEBUG(553, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy554;\r
+ if (yych != 't') goto yy186;\r
+yy554:\r
+ YYDEBUG(554, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(555, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1149 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ABSTRACT;\r
+}\r
+#line 5474 "Zend/zend_language_scanner.c"\r
+yy556:\r
+ YYDEBUG(556, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy557;\r
+ if (yych != 'i') goto yy186;\r
+yy557:\r
+ YYDEBUG(557, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy558;\r
+ if (yych != 'l') goto yy186;\r
+yy558:\r
+ YYDEBUG(558, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy559;\r
+ if (yych != 'e') goto yy186;\r
+yy559:\r
+ YYDEBUG(559, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(560, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 923 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_WHILE;\r
+}\r
+#line 5502 "Zend/zend_language_scanner.c"\r
+yy561:\r
+ YYDEBUG(561, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(562, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 907 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IF;\r
+}\r
+#line 5515 "Zend/zend_language_scanner.c"\r
+yy563:\r
+ YYDEBUG(563, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy599;\r
+ if (yych == 'p') goto yy599;\r
+ goto yy186;\r
+yy564:\r
+ YYDEBUG(564, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'T') {\r
+ if (yych <= 'C') {\r
+ if (yych <= 'B') goto yy186;\r
+ goto yy572;\r
+ } else {\r
+ if (yych <= 'R') goto yy186;\r
+ if (yych <= 'S') goto yy570;\r
+ goto yy571;\r
+ }\r
+ } else {\r
+ if (yych <= 'r') {\r
+ if (yych == 'c') goto yy572;\r
+ goto yy186;\r
+ } else {\r
+ if (yych <= 's') goto yy570;\r
+ if (yych <= 't') goto yy571;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy565:\r
+ YYDEBUG(565, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy566;\r
+ if (yych != 's') goto yy186;\r
+yy566:\r
+ YYDEBUG(566, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy567;\r
+ if (yych != 'e') goto yy186;\r
+yy567:\r
+ YYDEBUG(567, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy568;\r
+ if (yych != 't') goto yy186;\r
+yy568:\r
+ YYDEBUG(568, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(569, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1133 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ISSET;\r
+}\r
+#line 5571 "Zend/zend_language_scanner.c"\r
+yy570:\r
+ YYDEBUG(570, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy591;\r
+ if (yych == 't') goto yy591;\r
+ goto yy186;\r
+yy571:\r
+ YYDEBUG(571, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy584;\r
+ if (yych == 'e') goto yy584;\r
+ goto yy186;\r
+yy572:\r
+ YYDEBUG(572, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy573;\r
+ if (yych != 'l') goto yy186;\r
+yy573:\r
+ YYDEBUG(573, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy574;\r
+ if (yych != 'u') goto yy186;\r
+yy574:\r
+ YYDEBUG(574, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy575;\r
+ if (yych != 'd') goto yy186;\r
+yy575:\r
+ YYDEBUG(575, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy576;\r
+ if (yych != 'e') goto yy186;\r
+yy576:\r
+ YYDEBUG(576, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '^') {\r
+ if (yych <= '9') {\r
+ if (yych >= '0') goto yy185;\r
+ } else {\r
+ if (yych <= '@') goto yy577;\r
+ if (yych <= 'Z') goto yy185;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych <= '_') goto yy578;\r
+ } else {\r
+ if (yych <= 'z') goto yy185;\r
+ if (yych >= 0x7F) goto yy185;\r
+ }\r
+ }\r
+yy577:\r
+ YYDEBUG(577, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1105 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INCLUDE;\r
+}\r
+#line 5629 "Zend/zend_language_scanner.c"\r
+yy578:\r
+ YYDEBUG(578, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy579;\r
+ if (yych != 'o') goto yy186;\r
+yy579:\r
+ YYDEBUG(579, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy580;\r
+ if (yych != 'n') goto yy186;\r
+yy580:\r
+ YYDEBUG(580, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy581;\r
+ if (yych != 'c') goto yy186;\r
+yy581:\r
+ YYDEBUG(581, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy582;\r
+ if (yych != 'e') goto yy186;\r
+yy582:\r
+ YYDEBUG(582, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(583, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1109 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INCLUDE_ONCE;\r
+}\r
+#line 5662 "Zend/zend_language_scanner.c"\r
+yy584:\r
+ YYDEBUG(584, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy585;\r
+ if (yych != 'r') goto yy186;\r
+yy585:\r
+ YYDEBUG(585, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'F') goto yy586;\r
+ if (yych != 'f') goto yy186;\r
+yy586:\r
+ YYDEBUG(586, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy587;\r
+ if (yych != 'a') goto yy186;\r
+yy587:\r
+ YYDEBUG(587, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy588;\r
+ if (yych != 'c') goto yy186;\r
+yy588:\r
+ YYDEBUG(588, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy589;\r
+ if (yych != 'e') goto yy186;\r
+yy589:\r
+ YYDEBUG(589, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(590, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1007 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INTERFACE;\r
+}\r
+#line 5700 "Zend/zend_language_scanner.c"\r
+yy591:\r
+ YYDEBUG(591, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy592;\r
+ if (yych != 'a') goto yy186;\r
+yy592:\r
+ YYDEBUG(592, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy593;\r
+ if (yych != 'n') goto yy186;\r
+yy593:\r
+ YYDEBUG(593, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy594;\r
+ if (yych != 'c') goto yy186;\r
+yy594:\r
+ YYDEBUG(594, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy595;\r
+ if (yych != 'e') goto yy186;\r
+yy595:\r
+ YYDEBUG(595, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy596;\r
+ if (yych != 'o') goto yy186;\r
+yy596:\r
+ YYDEBUG(596, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'F') goto yy597;\r
+ if (yych != 'f') goto yy186;\r
+yy597:\r
+ YYDEBUG(597, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(598, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 959 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_INSTANCEOF;\r
+}\r
+#line 5743 "Zend/zend_language_scanner.c"\r
+yy599:\r
+ YYDEBUG(599, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy600;\r
+ if (yych != 'l') goto yy186;\r
+yy600:\r
+ YYDEBUG(600, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy601;\r
+ if (yych != 'e') goto yy186;\r
+yy601:\r
+ YYDEBUG(601, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'M') goto yy602;\r
+ if (yych != 'm') goto yy186;\r
+yy602:\r
+ YYDEBUG(602, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy603;\r
+ if (yych != 'e') goto yy186;\r
+yy603:\r
+ YYDEBUG(603, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy604;\r
+ if (yych != 'n') goto yy186;\r
+yy604:\r
+ YYDEBUG(604, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy605;\r
+ if (yych != 't') goto yy186;\r
+yy605:\r
+ YYDEBUG(605, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy606;\r
+ if (yych != 's') goto yy186;\r
+yy606:\r
+ YYDEBUG(606, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(607, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1015 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_IMPLEMENTS;\r
+}\r
+#line 5791 "Zend/zend_language_scanner.c"\r
+yy608:\r
+ YYDEBUG(608, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy612;\r
+ if (yych == 'r') goto yy612;\r
+ goto yy186;\r
+yy609:\r
+ YYDEBUG(609, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'Y') goto yy610;\r
+ if (yych != 'y') goto yy186;\r
+yy610:\r
+ YYDEBUG(610, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(611, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 895 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_TRY;\r
+}\r
+#line 5815 "Zend/zend_language_scanner.c"\r
+yy612:\r
+ YYDEBUG(612, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy613;\r
+ if (yych != 'o') goto yy186;\r
+yy613:\r
+ YYDEBUG(613, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'W') goto yy614;\r
+ if (yych != 'w') goto yy186;\r
+yy614:\r
+ YYDEBUG(614, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(615, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 903 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_THROW;\r
+}\r
+#line 5838 "Zend/zend_language_scanner.c"\r
+yy616:\r
+ YYDEBUG(616, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'T') {\r
+ if (yych == 'Q') goto yy618;\r
+ if (yych <= 'S') goto yy186;\r
+ } else {\r
+ if (yych <= 'q') {\r
+ if (yych <= 'p') goto yy186;\r
+ goto yy618;\r
+ } else {\r
+ if (yych != 't') goto yy186;\r
+ }\r
+ }\r
+ YYDEBUG(617, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy630;\r
+ if (yych == 'u') goto yy630;\r
+ goto yy186;\r
+yy618:\r
+ YYDEBUG(618, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy619;\r
+ if (yych != 'u') goto yy186;\r
+yy619:\r
+ YYDEBUG(619, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy620;\r
+ if (yych != 'i') goto yy186;\r
+yy620:\r
+ YYDEBUG(620, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy621;\r
+ if (yych != 'r') goto yy186;\r
+yy621:\r
+ YYDEBUG(621, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy622;\r
+ if (yych != 'e') goto yy186;\r
+yy622:\r
+ YYDEBUG(622, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '^') {\r
+ if (yych <= '9') {\r
+ if (yych >= '0') goto yy185;\r
+ } else {\r
+ if (yych <= '@') goto yy623;\r
+ if (yych <= 'Z') goto yy185;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych <= '_') goto yy624;\r
+ } else {\r
+ if (yych <= 'z') goto yy185;\r
+ if (yych >= 0x7F) goto yy185;\r
+ }\r
+ }\r
+yy623:\r
+ YYDEBUG(623, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1113 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_REQUIRE;\r
+}\r
+#line 5903 "Zend/zend_language_scanner.c"\r
+yy624:\r
+ YYDEBUG(624, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy625;\r
+ if (yych != 'o') goto yy186;\r
+yy625:\r
+ YYDEBUG(625, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy626;\r
+ if (yych != 'n') goto yy186;\r
+yy626:\r
+ YYDEBUG(626, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy627;\r
+ if (yych != 'c') goto yy186;\r
+yy627:\r
+ YYDEBUG(627, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy628;\r
+ if (yych != 'e') goto yy186;\r
+yy628:\r
+ YYDEBUG(628, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(629, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1117 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_REQUIRE_ONCE;\r
+}\r
+#line 5936 "Zend/zend_language_scanner.c"\r
+yy630:\r
+ YYDEBUG(630, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy631;\r
+ if (yych != 'r') goto yy186;\r
+yy631:\r
+ YYDEBUG(631, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy632;\r
+ if (yych != 'n') goto yy186;\r
+yy632:\r
+ YYDEBUG(632, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(633, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 891 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_RETURN;\r
+}\r
+#line 5959 "Zend/zend_language_scanner.c"\r
+yy634:\r
+ YYDEBUG(634, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'T') {\r
+ if (yych <= 'R') goto yy186;\r
+ if (yych <= 'S') goto yy656;\r
+ goto yy655;\r
+ } else {\r
+ if (yych <= 'r') goto yy186;\r
+ if (yych <= 's') goto yy656;\r
+ if (yych <= 't') goto yy655;\r
+ goto yy186;\r
+ }\r
+yy635:\r
+ YYDEBUG(635, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'O') {\r
+ if (yych == 'A') goto yy647;\r
+ if (yych <= 'N') goto yy186;\r
+ goto yy648;\r
+ } else {\r
+ if (yych <= 'a') {\r
+ if (yych <= '`') goto yy186;\r
+ goto yy647;\r
+ } else {\r
+ if (yych == 'o') goto yy648;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy636:\r
+ YYDEBUG(636, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy637;\r
+ if (yych != 'n') goto yy186;\r
+yy637:\r
+ YYDEBUG(637, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'T') {\r
+ if (yych <= 'R') goto yy186;\r
+ if (yych >= 'T') goto yy639;\r
+ } else {\r
+ if (yych <= 'r') goto yy186;\r
+ if (yych <= 's') goto yy638;\r
+ if (yych <= 't') goto yy639;\r
+ goto yy186;\r
+ }\r
+yy638:\r
+ YYDEBUG(638, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy645;\r
+ if (yych == 't') goto yy645;\r
+ goto yy186;\r
+yy639:\r
+ YYDEBUG(639, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy640;\r
+ if (yych != 'i') goto yy186;\r
+yy640:\r
+ YYDEBUG(640, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy641;\r
+ if (yych != 'n') goto yy186;\r
+yy641:\r
+ YYDEBUG(641, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy642;\r
+ if (yych != 'u') goto yy186;\r
+yy642:\r
+ YYDEBUG(642, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy643;\r
+ if (yych != 'e') goto yy186;\r
+yy643:\r
+ YYDEBUG(643, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(644, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 987 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CONTINUE;\r
+}\r
+#line 6044 "Zend/zend_language_scanner.c"\r
+yy645:\r
+ YYDEBUG(645, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(646, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 887 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CONST;\r
+}\r
+#line 6057 "Zend/zend_language_scanner.c"\r
+yy647:\r
+ YYDEBUG(647, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy652;\r
+ if (yych == 's') goto yy652;\r
+ goto yy186;\r
+yy648:\r
+ YYDEBUG(648, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy649;\r
+ if (yych != 'n') goto yy186;\r
+yy649:\r
+ YYDEBUG(649, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy650;\r
+ if (yych != 'e') goto yy186;\r
+yy650:\r
+ YYDEBUG(650, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(651, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1061 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CLONE;\r
+}\r
+#line 6086 "Zend/zend_language_scanner.c"\r
+yy652:\r
+ YYDEBUG(652, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy653;\r
+ if (yych != 's') goto yy186;\r
+yy653:\r
+ YYDEBUG(653, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(654, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1003 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CLASS;\r
+}\r
+#line 6104 "Zend/zend_language_scanner.c"\r
+yy655:\r
+ YYDEBUG(655, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy659;\r
+ if (yych == 'c') goto yy659;\r
+ goto yy186;\r
+yy656:\r
+ YYDEBUG(656, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy657;\r
+ if (yych != 'e') goto yy186;\r
+yy657:\r
+ YYDEBUG(657, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(658, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 975 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CASE;\r
+}\r
+#line 6128 "Zend/zend_language_scanner.c"\r
+yy659:\r
+ YYDEBUG(659, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy660;\r
+ if (yych != 'h') goto yy186;\r
+yy660:\r
+ YYDEBUG(660, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(661, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 899 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_CATCH;\r
+}\r
+#line 6146 "Zend/zend_language_scanner.c"\r
+yy662:\r
+ YYDEBUG(662, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy679;\r
+ if (yych == 'n') goto yy679;\r
+ goto yy186;\r
+yy663:\r
+ YYDEBUG(663, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy672;\r
+ if (yych == 'r') goto yy672;\r
+ goto yy186;\r
+yy664:\r
+ YYDEBUG(664, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy665;\r
+ if (yych != 'n') goto yy186;\r
+yy665:\r
+ YYDEBUG(665, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy666;\r
+ if (yych != 'c') goto yy186;\r
+yy666:\r
+ YYDEBUG(666, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy667;\r
+ if (yych != 't') goto yy186;\r
+yy667:\r
+ YYDEBUG(667, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy668;\r
+ if (yych != 'i') goto yy186;\r
+yy668:\r
+ YYDEBUG(668, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy669;\r
+ if (yych != 'o') goto yy186;\r
+yy669:\r
+ YYDEBUG(669, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy670;\r
+ if (yych != 'n') goto yy186;\r
+yy670:\r
+ YYDEBUG(670, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(671, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 883 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_FUNCTION;\r
+}\r
+#line 6201 "Zend/zend_language_scanner.c"\r
+yy672:\r
+ YYDEBUG(672, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '^') {\r
+ if (yych <= '@') {\r
+ if (yych <= '/') goto yy673;\r
+ if (yych <= '9') goto yy185;\r
+ } else {\r
+ if (yych == 'E') goto yy674;\r
+ if (yych <= 'Z') goto yy185;\r
+ }\r
+ } else {\r
+ if (yych <= 'd') {\r
+ if (yych != '`') goto yy185;\r
+ } else {\r
+ if (yych <= 'e') goto yy674;\r
+ if (yych <= 'z') goto yy185;\r
+ if (yych >= 0x7F) goto yy185;\r
+ }\r
+ }\r
+yy673:\r
+ YYDEBUG(673, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 935 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_FOR;\r
+}\r
+#line 6229 "Zend/zend_language_scanner.c"\r
+yy674:\r
+ YYDEBUG(674, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy675;\r
+ if (yych != 'a') goto yy186;\r
+yy675:\r
+ YYDEBUG(675, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy676;\r
+ if (yych != 'c') goto yy186;\r
+yy676:\r
+ YYDEBUG(676, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy677;\r
+ if (yych != 'h') goto yy186;\r
+yy677:\r
+ YYDEBUG(677, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(678, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 943 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_FOREACH;\r
+}\r
+#line 6257 "Zend/zend_language_scanner.c"\r
+yy679:\r
+ YYDEBUG(679, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy680;\r
+ if (yych != 'a') goto yy186;\r
+yy680:\r
+ YYDEBUG(680, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy681;\r
+ if (yych != 'l') goto yy186;\r
+yy681:\r
+ YYDEBUG(681, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(682, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1153 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_FINAL;\r
+}\r
+#line 6280 "Zend/zend_language_scanner.c"\r
+yy683:\r
+ YYDEBUG(683, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'F') {\r
+ if (yych == 'C') goto yy689;\r
+ if (yych <= 'E') goto yy186;\r
+ goto yy690;\r
+ } else {\r
+ if (yych <= 'c') {\r
+ if (yych <= 'b') goto yy186;\r
+ goto yy689;\r
+ } else {\r
+ if (yych == 'f') goto yy690;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy684:\r
+ YYDEBUG(684, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy687;\r
+ if (yych == 'e') goto yy687;\r
+ goto yy186;\r
+yy685:\r
+ YYDEBUG(685, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(686, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 931 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DO;\r
+}\r
+#line 6315 "Zend/zend_language_scanner.c"\r
+yy687:\r
+ YYDEBUG(687, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(688, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 879 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_EXIT;\r
+}\r
+#line 6328 "Zend/zend_language_scanner.c"\r
+yy689:\r
+ YYDEBUG(689, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy696;\r
+ if (yych == 'l') goto yy696;\r
+ goto yy186;\r
+yy690:\r
+ YYDEBUG(690, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy691;\r
+ if (yych != 'a') goto yy186;\r
+yy691:\r
+ YYDEBUG(691, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'U') goto yy692;\r
+ if (yych != 'u') goto yy186;\r
+yy692:\r
+ YYDEBUG(692, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy693;\r
+ if (yych != 'l') goto yy186;\r
+yy693:\r
+ YYDEBUG(693, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy694;\r
+ if (yych != 't') goto yy186;\r
+yy694:\r
+ YYDEBUG(694, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(695, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 979 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DEFAULT;\r
+}\r
+#line 6367 "Zend/zend_language_scanner.c"\r
+yy696:\r
+ YYDEBUG(696, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy697;\r
+ if (yych != 'a') goto yy186;\r
+yy697:\r
+ YYDEBUG(697, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy698;\r
+ if (yych != 'r') goto yy186;\r
+yy698:\r
+ YYDEBUG(698, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy699;\r
+ if (yych != 'e') goto yy186;\r
+yy699:\r
+ YYDEBUG(699, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(700, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 951 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_DECLARE;\r
+}\r
+#line 6395 "Zend/zend_language_scanner.c"\r
+yy701:\r
+ YYDEBUG(701, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy763;\r
+ if (yych == 'h') goto yy763;\r
+ goto yy186;\r
+yy702:\r
+ YYDEBUG(702, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy757;\r
+ if (yych == 's') goto yy757;\r
+ goto yy186;\r
+yy703:\r
+ YYDEBUG(703, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'P') goto yy753;\r
+ if (yych == 'p') goto yy753;\r
+ goto yy186;\r
+yy704:\r
+ YYDEBUG(704, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy719;\r
+ if (yych == 'd') goto yy719;\r
+ goto yy186;\r
+yy705:\r
+ YYDEBUG(705, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy716;\r
+ if (yych == 'a') goto yy716;\r
+ goto yy186;\r
+yy706:\r
+ YYDEBUG(706, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych <= 'T') {\r
+ if (yych == 'I') goto yy707;\r
+ if (yych <= 'S') goto yy186;\r
+ goto yy708;\r
+ } else {\r
+ if (yych <= 'i') {\r
+ if (yych <= 'h') goto yy186;\r
+ } else {\r
+ if (yych == 't') goto yy708;\r
+ goto yy186;\r
+ }\r
+ }\r
+yy707:\r
+ YYDEBUG(707, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy714;\r
+ if (yych == 't') goto yy714;\r
+ goto yy186;\r
+yy708:\r
+ YYDEBUG(708, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy709;\r
+ if (yych != 'e') goto yy186;\r
+yy709:\r
+ YYDEBUG(709, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'N') goto yy710;\r
+ if (yych != 'n') goto yy186;\r
+yy710:\r
+ YYDEBUG(710, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'D') goto yy711;\r
+ if (yych != 'd') goto yy186;\r
+yy711:\r
+ YYDEBUG(711, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'S') goto yy712;\r
+ if (yych != 's') goto yy186;\r
+yy712:\r
+ YYDEBUG(712, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(713, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1011 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_EXTENDS;\r
+}\r
+#line 6479 "Zend/zend_language_scanner.c"\r
+yy714:\r
+ YYDEBUG(714, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(715, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 875 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_EXIT;\r
+}\r
+#line 6492 "Zend/zend_language_scanner.c"\r
+yy716:\r
+ YYDEBUG(716, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy717;\r
+ if (yych != 'l') goto yy186;\r
+yy717:\r
+ YYDEBUG(717, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(718, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1101 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_EVAL;\r
+}\r
+#line 6510 "Zend/zend_language_scanner.c"\r
+yy719:\r
+ YYDEBUG(719, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ YYDEBUG(-1, yych);\r
+ switch (yych) {\r
+ case 'D':\r
+ case 'd': goto yy720;\r
+ case 'F':\r
+ case 'f': goto yy721;\r
+ case 'I':\r
+ case 'i': goto yy722;\r
+ case 'S':\r
+ case 's': goto yy723;\r
+ case 'W':\r
+ case 'w': goto yy724;\r
+ default: goto yy186;\r
+ }\r
+yy720:\r
+ YYDEBUG(720, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy746;\r
+ if (yych == 'e') goto yy746;\r
+ goto yy186;\r
+yy721:\r
+ YYDEBUG(721, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy738;\r
+ if (yych == 'o') goto yy738;\r
+ goto yy186;\r
+yy722:\r
+ YYDEBUG(722, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'F') goto yy736;\r
+ if (yych == 'f') goto yy736;\r
+ goto yy186;\r
+yy723:\r
+ YYDEBUG(723, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'W') goto yy730;\r
+ if (yych == 'w') goto yy730;\r
+ goto yy186;\r
+yy724:\r
+ YYDEBUG(724, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy725;\r
+ if (yych != 'h') goto yy186;\r
+yy725:\r
+ YYDEBUG(725, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy726;\r
+ if (yych != 'i') goto yy186;\r
+yy726:\r
+ YYDEBUG(726, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy727;\r
+ if (yych != 'l') goto yy186;\r
+yy727:\r
+ YYDEBUG(727, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy728;\r
+ if (yych != 'e') goto yy186;\r
+yy728:\r
+ YYDEBUG(728, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(729, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 927 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDWHILE;\r
+}\r
+#line 6584 "Zend/zend_language_scanner.c"\r
+yy730:\r
+ YYDEBUG(730, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'I') goto yy731;\r
+ if (yych != 'i') goto yy186;\r
+yy731:\r
+ YYDEBUG(731, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy732;\r
+ if (yych != 't') goto yy186;\r
+yy732:\r
+ YYDEBUG(732, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy733;\r
+ if (yych != 'c') goto yy186;\r
+yy733:\r
+ YYDEBUG(733, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy734;\r
+ if (yych != 'h') goto yy186;\r
+yy734:\r
+ YYDEBUG(734, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(735, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 971 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDSWITCH;\r
+}\r
+#line 6617 "Zend/zend_language_scanner.c"\r
+yy736:\r
+ YYDEBUG(736, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(737, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 915 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDIF;\r
+}\r
+#line 6630 "Zend/zend_language_scanner.c"\r
+yy738:\r
+ YYDEBUG(738, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy739;\r
+ if (yych != 'r') goto yy186;\r
+yy739:\r
+ YYDEBUG(739, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '^') {\r
+ if (yych <= '@') {\r
+ if (yych <= '/') goto yy740;\r
+ if (yych <= '9') goto yy185;\r
+ } else {\r
+ if (yych == 'E') goto yy741;\r
+ if (yych <= 'Z') goto yy185;\r
+ }\r
+ } else {\r
+ if (yych <= 'd') {\r
+ if (yych != '`') goto yy185;\r
+ } else {\r
+ if (yych <= 'e') goto yy741;\r
+ if (yych <= 'z') goto yy185;\r
+ if (yych >= 0x7F) goto yy185;\r
+ }\r
+ }\r
+yy740:\r
+ YYDEBUG(740, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 939 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDFOR;\r
+}\r
+#line 6663 "Zend/zend_language_scanner.c"\r
+yy741:\r
+ YYDEBUG(741, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy742;\r
+ if (yych != 'a') goto yy186;\r
+yy742:\r
+ YYDEBUG(742, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy743;\r
+ if (yych != 'c') goto yy186;\r
+yy743:\r
+ YYDEBUG(743, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'H') goto yy744;\r
+ if (yych != 'h') goto yy186;\r
+yy744:\r
+ YYDEBUG(744, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(745, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 947 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDFOREACH;\r
+}\r
+#line 6691 "Zend/zend_language_scanner.c"\r
+yy746:\r
+ YYDEBUG(746, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'C') goto yy747;\r
+ if (yych != 'c') goto yy186;\r
+yy747:\r
+ YYDEBUG(747, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'L') goto yy748;\r
+ if (yych != 'l') goto yy186;\r
+yy748:\r
+ YYDEBUG(748, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'A') goto yy749;\r
+ if (yych != 'a') goto yy186;\r
+yy749:\r
+ YYDEBUG(749, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'R') goto yy750;\r
+ if (yych != 'r') goto yy186;\r
+yy750:\r
+ YYDEBUG(750, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy751;\r
+ if (yych != 'e') goto yy186;\r
+yy751:\r
+ YYDEBUG(751, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(752, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 955 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ENDDECLARE;\r
+}\r
+#line 6729 "Zend/zend_language_scanner.c"\r
+yy753:\r
+ YYDEBUG(753, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'T') goto yy754;\r
+ if (yych != 't') goto yy186;\r
+yy754:\r
+ YYDEBUG(754, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'Y') goto yy755;\r
+ if (yych != 'y') goto yy186;\r
+yy755:\r
+ YYDEBUG(755, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(756, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1137 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_EMPTY;\r
+}\r
+#line 6752 "Zend/zend_language_scanner.c"\r
+yy757:\r
+ YYDEBUG(757, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'E') goto yy758;\r
+ if (yych != 'e') goto yy186;\r
+yy758:\r
+ YYDEBUG(758, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '^') {\r
+ if (yych <= '@') {\r
+ if (yych <= '/') goto yy759;\r
+ if (yych <= '9') goto yy185;\r
+ } else {\r
+ if (yych == 'I') goto yy760;\r
+ if (yych <= 'Z') goto yy185;\r
+ }\r
+ } else {\r
+ if (yych <= 'h') {\r
+ if (yych != '`') goto yy185;\r
+ } else {\r
+ if (yych <= 'i') goto yy760;\r
+ if (yych <= 'z') goto yy185;\r
+ if (yych >= 0x7F) goto yy185;\r
+ }\r
+ }\r
+yy759:\r
+ YYDEBUG(759, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 919 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ELSE;\r
+}\r
+#line 6785 "Zend/zend_language_scanner.c"\r
+yy760:\r
+ YYDEBUG(760, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'F') goto yy761;\r
+ if (yych != 'f') goto yy186;\r
+yy761:\r
+ YYDEBUG(761, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(762, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 911 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ELSEIF;\r
+}\r
+#line 6803 "Zend/zend_language_scanner.c"\r
+yy763:\r
+ YYDEBUG(763, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yych == 'O') goto yy764;\r
+ if (yych != 'o') goto yy186;\r
+yy764:\r
+ YYDEBUG(764, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if (yybm[0+(yych = *YYCURSOR)] & 8) {\r
+ goto yy185;\r
+ }\r
+ YYDEBUG(765, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 995 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_ECHO;\r
+}\r
+#line 6821 "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(766, *YYCURSOR);\r
+ YYFILL(2);\r
+ yych = *YYCURSOR;\r
+ if (yych <= '-') {\r
+ if (yych <= '\r') {\r
+ if (yych <= 0x08) goto yy774;\r
+ if (yych <= '\n') goto yy768;\r
+ if (yych <= '\f') goto yy774;\r
+ } else {\r
+ if (yych == ' ') goto yy768;\r
+ if (yych <= ',') goto yy774;\r
+ goto yy770;\r
+ }\r
+ } else {\r
+ if (yych <= '_') {\r
+ if (yych <= '@') goto yy774;\r
+ if (yych <= 'Z') goto yy772;\r
+ if (yych <= '^') goto yy774;\r
+ goto yy772;\r
+ } else {\r
+ if (yych <= '`') goto yy774;\r
+ if (yych <= 'z') goto yy772;\r
+ if (yych <= '~') goto yy774;\r
+ goto yy772;\r
+ }\r
+ }\r
+yy768:\r
+ YYDEBUG(768, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ yych = *YYCURSOR;\r
+ goto yy780;\r
+yy769:\r
+ YYDEBUG(769, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1024 "Zend/zend_language_scanner.l"\r
+ {\r
+ zendlval->value.str.val = yytext; /* no copying - intentional */\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ HANDLE_NEWLINES(yytext, yyleng);\r
+ return T_WHITESPACE;\r
+}\r
+#line 6902 "Zend/zend_language_scanner.c"\r
+yy770:\r
+ YYDEBUG(770, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) == '>') goto yy777;\r
+yy771:\r
+ YYDEBUG(771, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1043 "Zend/zend_language_scanner.l"\r
+ {\r
+ yyless(0);\r
+ yy_pop_state(TSRMLS_C);\r
+ goto restart;\r
+}\r
+#line 6916 "Zend/zend_language_scanner.c"\r
+yy772:\r
+ YYDEBUG(772, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ yych = *YYCURSOR;\r
+ goto yy776;\r
+yy773:\r
+ YYDEBUG(773, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1036 "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 6932 "Zend/zend_language_scanner.c"\r
+yy774:\r
+ YYDEBUG(774, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy771;\r
+yy775:\r
+ YYDEBUG(775, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy776:\r
+ YYDEBUG(776, *YYCURSOR);\r
+ if (yybm[0+yych] & 64) {\r
+ goto yy775;\r
+ }\r
+ goto yy773;\r
+yy777:\r
+ YYDEBUG(777, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(778, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1032 "Zend/zend_language_scanner.l"\r
+ {\r
+ return T_OBJECT_OPERATOR;\r
+}\r
+#line 6957 "Zend/zend_language_scanner.c"\r
+yy779:\r
+ YYDEBUG(779, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy780:\r
+ YYDEBUG(780, *YYCURSOR);\r
+ if (yybm[0+yych] & 128) {\r
+ goto yy779;\r
+ }\r
+ goto yy769;\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(781, *YYCURSOR);\r
+ YYFILL(2);\r
+ yych = *YYCURSOR;\r
+ if (yych <= '_') {\r
+ if (yych <= '@') goto yy785;\r
+ if (yych <= 'Z') goto yy783;\r
+ if (yych <= '^') goto yy785;\r
+ } else {\r
+ if (yych <= '`') goto yy785;\r
+ if (yych <= 'z') goto yy783;\r
+ if (yych <= '~') goto yy785;\r
+ }\r
+yy783:\r
+ YYDEBUG(783, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ yych = *YYCURSOR;\r
+ goto yy788;\r
+yy784:\r
+ YYDEBUG(784, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1315 "Zend/zend_language_scanner.l"\r
+ {\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 7035 "Zend/zend_language_scanner.c"\r
+yy785:\r
+ YYDEBUG(785, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(786, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1324 "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 7048 "Zend/zend_language_scanner.c"\r
+yy787:\r
+ YYDEBUG(787, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy788:\r
+ YYDEBUG(788, *YYCURSOR);\r
+ if (yybm[0+yych] & 128) {\r
+ goto yy787;\r
+ }\r
+ goto yy784;\r
+ }\r
+/* *********************************** */\r
+yyc_ST_NOWDOC:\r
+ YYDEBUG(789, *YYCURSOR);\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(791, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(792, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 2162 "Zend/zend_language_scanner.l"\r
+ {\r
+ int newline = 0;\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) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {\r
+ YYCTYPE *end = YYCURSOR + CG(heredoc_len);\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 7125 "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
+ 224, 224, 224, 224, 224, 224, 224, 224, \r
+ 224, 224, 0, 0, 0, 0, 0, 0, \r
+ 0, 160, 160, 160, 160, 160, 160, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 0, 0, 0, 0, 32, \r
+ 0, 160, 160, 160, 160, 160, 160, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 0, 0, 0, 0, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ 32, 32, 32, 32, 32, 32, 32, 32, \r
+ };\r
+ YYDEBUG(793, *YYCURSOR);\r
+ YYFILL(3);\r
+ yych = *YYCURSOR;\r
+ if (yych <= '/') {\r
+ if (yych <= ' ') {\r
+ if (yych <= '\f') {\r
+ if (yych <= 0x08) goto yy807;\r
+ if (yych <= '\n') goto yy803;\r
+ goto yy807;\r
+ } else {\r
+ if (yych <= '\r') goto yy803;\r
+ if (yych <= 0x1F) goto yy807;\r
+ goto yy803;\r
+ }\r
+ } else {\r
+ if (yych <= '$') {\r
+ if (yych <= '"') goto yy802;\r
+ if (yych <= '#') goto yy803;\r
+ goto yy798;\r
+ } else {\r
+ if (yych == '\'') goto yy803;\r
+ goto yy802;\r
+ }\r
+ }\r
+ } else {\r
+ if (yych <= '\\') {\r
+ if (yych <= '@') {\r
+ if (yych <= '0') goto yy795;\r
+ if (yych <= '9') goto yy797;\r
+ goto yy802;\r
+ } else {\r
+ if (yych <= 'Z') goto yy805;\r
+ if (yych <= '[') goto yy802;\r
+ goto yy803;\r
+ }\r
+ } else {\r
+ if (yych <= '_') {\r
+ if (yych <= ']') goto yy800;\r
+ if (yych <= '^') goto yy802;\r
+ goto yy805;\r
+ } else {\r
+ if (yych <= '`') goto yy802;\r
+ if (yych <= 'z') goto yy805;\r
+ if (yych <= '~') goto yy802;\r
+ goto yy805;\r
+ }\r
+ }\r
+ }\r
+yy795:\r
+ YYDEBUG(795, *YYCURSOR);\r
+ yyaccept = 0;\r
+ yych = *(YYMARKER = ++YYCURSOR);\r
+ if (yych <= 'W') {\r
+ if (yych <= '/') goto yy796;\r
+ if (yych <= '9') goto yy818;\r
+ } else {\r
+ if (yych <= 'X') goto yy816;\r
+ if (yych == 'x') goto yy816;\r
+ }\r
+yy796:\r
+ YYDEBUG(796, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1378 "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
+ zendlval->value.lval = strtol(yytext, NULL, 10);\r
+ zendlval->type = IS_LONG;\r
+ } else {\r
+ zendlval->value.str.val = (char *)estrndup(yytext, yyleng);\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ }\r
+ return T_NUM_STRING;\r
+}\r
+#line 7237 "Zend/zend_language_scanner.c"\r
+yy797:\r
+ YYDEBUG(797, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy815;\r
+yy798:\r
+ YYDEBUG(798, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ if ((yych = *YYCURSOR) <= '_') {\r
+ if (yych <= '@') goto yy799;\r
+ if (yych <= 'Z') goto yy811;\r
+ if (yych >= '_') goto yy811;\r
+ } else {\r
+ if (yych <= '`') goto yy799;\r
+ if (yych <= 'z') goto yy811;\r
+ if (yych >= 0x7F) goto yy811;\r
+ }\r
+yy799:\r
+ YYDEBUG(799, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1688 "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 7262 "Zend/zend_language_scanner.c"\r
+yy800:\r
+ YYDEBUG(800, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(801, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1683 "Zend/zend_language_scanner.l"\r
+ {\r
+ yy_pop_state(TSRMLS_C);\r
+ return ']';\r
+}\r
+#line 7273 "Zend/zend_language_scanner.c"\r
+yy802:\r
+ YYDEBUG(802, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ goto yy799;\r
+yy803:\r
+ YYDEBUG(803, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(804, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1693 "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 7290 "Zend/zend_language_scanner.c"\r
+yy805:\r
+ YYDEBUG(805, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ yych = *YYCURSOR;\r
+ goto yy810;\r
+yy806:\r
+ YYDEBUG(806, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1700 "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 7305 "Zend/zend_language_scanner.c"\r
+yy807:\r
+ YYDEBUG(807, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYDEBUG(808, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 2218 "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 7320 "Zend/zend_language_scanner.c"\r
+yy809:\r
+ YYDEBUG(809, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy810:\r
+ YYDEBUG(810, *YYCURSOR);\r
+ if (yybm[0+yych] & 32) {\r
+ goto yy809;\r
+ }\r
+ goto yy806;\r
+yy811:\r
+ YYDEBUG(811, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(812, *YYCURSOR);\r
+ if (yych <= '^') {\r
+ if (yych <= '9') {\r
+ if (yych >= '0') goto yy811;\r
+ } else {\r
+ if (yych <= '@') goto yy813;\r
+ if (yych <= 'Z') goto yy811;\r
+ }\r
+ } else {\r
+ if (yych <= '`') {\r
+ if (yych <= '_') goto yy811;\r
+ } else {\r
+ if (yych <= 'z') goto yy811;\r
+ if (yych >= 0x7F) goto yy811;\r
+ }\r
+ }\r
+yy813:\r
+ YYDEBUG(813, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1677 "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 7362 "Zend/zend_language_scanner.c"\r
+yy814:\r
+ YYDEBUG(814, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+yy815:\r
+ YYDEBUG(815, *YYCURSOR);\r
+ if (yybm[0+yych] & 64) {\r
+ goto yy814;\r
+ }\r
+ goto yy796;\r
+yy816:\r
+ YYDEBUG(816, *YYCURSOR);\r
+ yych = *++YYCURSOR;\r
+ if (yybm[0+yych] & 128) {\r
+ goto yy821;\r
+ }\r
+ YYDEBUG(817, *YYCURSOR);\r
+ YYCURSOR = YYMARKER;\r
+ goto yy796;\r
+yy818:\r
+ YYDEBUG(818, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(819, *YYCURSOR);\r
+ if (yych <= '/') goto yy820;\r
+ if (yych <= '9') goto yy818;\r
+yy820:\r
+ YYDEBUG(820, *YYCURSOR);\r
+ yyleng = YYCURSOR - SCNG(yy_text);\r
+#line 1390 "Zend/zend_language_scanner.l"\r
+ { /* Offset must be treated as a string */\r
+ zendlval->value.str.val = (char *)estrndup(yytext, yyleng);\r
+ zendlval->value.str.len = yyleng;\r
+ zendlval->type = IS_STRING;\r
+ return T_NUM_STRING;\r
+}\r
+#line 7401 "Zend/zend_language_scanner.c"\r
+yy821:\r
+ YYDEBUG(821, *YYCURSOR);\r
+ ++YYCURSOR;\r
+ YYFILL(1);\r
+ yych = *YYCURSOR;\r
+ YYDEBUG(822, *YYCURSOR);\r
+ if (yybm[0+yych] & 128) {\r
+ goto yy821;\r
+ }\r
+ goto yy820;\r
+ }\r
+}\r
+#line 2227 "Zend/zend_language_scanner.l"\r
+\r
+}\r