Annotation of embedaddon/php/Zend/zend_language_scanner.c, revision 1.1
1.1 ! misho 1: /* Generated by re2c 0.13.5 on Sun Jan 1 17:48:17 2012 */
! 2: #line 1 "Zend/zend_language_scanner.l"
! 3: /*
! 4: +----------------------------------------------------------------------+
! 5: | Zend Engine |
! 6: +----------------------------------------------------------------------+
! 7: | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
! 8: +----------------------------------------------------------------------+
! 9: | This source file is subject to version 2.00 of the Zend license, |
! 10: | that is bundled with this package in the file LICENSE, and is |
! 11: | available through the world-wide-web at the following url: |
! 12: | http://www.zend.com/license/2_00.txt. |
! 13: | If you did not receive a copy of the Zend license and are unable to |
! 14: | obtain it through the world-wide-web, please send a note to |
! 15: | license@zend.com so we can mail you a copy immediately. |
! 16: +----------------------------------------------------------------------+
! 17: | Authors: Marcus Boerger <helly@php.net> |
! 18: | Nuno Lopes <nlopess@php.net> |
! 19: | Scott MacVicar <scottmac@php.net> |
! 20: | Flex version authors: |
! 21: | Andi Gutmans <andi@zend.com> |
! 22: | Zeev Suraski <zeev@zend.com> |
! 23: +----------------------------------------------------------------------+
! 24: */
! 25:
! 26: /* $Id: zend_language_scanner.c 321657 2012-01-01 22:52:23Z nlopess $ */
! 27:
! 28: #if 0
! 29: # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
! 30: #else
! 31: # define YYDEBUG(s, c)
! 32: #endif
! 33:
! 34: #include "zend_language_scanner_defs.h"
! 35:
! 36: #include <errno.h>
! 37: #include "zend.h"
! 38: #include "zend_alloc.h"
! 39: #include <zend_language_parser.h>
! 40: #include "zend_compile.h"
! 41: #include "zend_language_scanner.h"
! 42: #include "zend_highlight.h"
! 43: #include "zend_constants.h"
! 44: #include "zend_variables.h"
! 45: #include "zend_operators.h"
! 46: #include "zend_API.h"
! 47: #include "zend_strtod.h"
! 48: #include "zend_exceptions.h"
! 49: #include "tsrm_virtual_cwd.h"
! 50: #include "tsrm_config_common.h"
! 51:
! 52: #define YYCTYPE unsigned char
! 53: #define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
! 54: #define YYCURSOR SCNG(yy_cursor)
! 55: #define YYLIMIT SCNG(yy_limit)
! 56: #define YYMARKER SCNG(yy_marker)
! 57:
! 58: #define YYGETCONDITION() SCNG(yy_state)
! 59: #define YYSETCONDITION(s) SCNG(yy_state) = s
! 60:
! 61: #define STATE(name) yyc##name
! 62:
! 63: /* emulate flex constructs */
! 64: #define BEGIN(state) YYSETCONDITION(STATE(state))
! 65: #define YYSTATE YYGETCONDITION()
! 66: #define yytext ((char*)SCNG(yy_text))
! 67: #define yyleng SCNG(yy_leng)
! 68: #define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
! 69: yyleng = (unsigned int)x; } while(0)
! 70: #define yymore() goto yymore_restart
! 71:
! 72: /* perform sanity check. If this message is triggered you should
! 73: increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
! 74: #define YYMAXFILL 16
! 75: #if ZEND_MMAP_AHEAD < YYMAXFILL
! 76: # error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
! 77: #endif
! 78:
! 79: #ifdef HAVE_STDARG_H
! 80: # include <stdarg.h>
! 81: #endif
! 82:
! 83: #ifdef HAVE_UNISTD_H
! 84: # include <unistd.h>
! 85: #endif
! 86:
! 87: /* Globals Macros */
! 88: #define SCNG LANG_SCNG
! 89: #ifdef ZTS
! 90: ZEND_API ts_rsrc_id language_scanner_globals_id;
! 91: #else
! 92: ZEND_API zend_php_scanner_globals language_scanner_globals;
! 93: #endif
! 94:
! 95: #define HANDLE_NEWLINES(s, l) \
! 96: do { \
! 97: char *p = (s), *boundary = p+(l); \
! 98: \
! 99: while (p<boundary) { \
! 100: if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \
! 101: CG(zend_lineno)++; \
! 102: } \
! 103: p++; \
! 104: } \
! 105: } while (0)
! 106:
! 107: #define HANDLE_NEWLINE(c) \
! 108: { \
! 109: if (c == '\n' || c == '\r') { \
! 110: CG(zend_lineno)++; \
! 111: } \
! 112: }
! 113:
! 114: /* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */
! 115: #define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len)
! 116: #define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_len)
! 117:
! 118: #define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F)
! 119:
! 120: #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
! 121: #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
! 122:
! 123: BEGIN_EXTERN_C()
! 124:
! 125: static void _yy_push_state(int new_state TSRMLS_DC)
! 126: {
! 127: zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
! 128: YYSETCONDITION(new_state);
! 129: }
! 130:
! 131: #define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
! 132:
! 133: static void yy_pop_state(TSRMLS_D)
! 134: {
! 135: int *stack_state;
! 136: zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
! 137: YYSETCONDITION(*stack_state);
! 138: zend_stack_del_top(&SCNG(state_stack));
! 139: }
! 140:
! 141: static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
! 142: {
! 143: YYCURSOR = (YYCTYPE*)str;
! 144: YYLIMIT = YYCURSOR + len;
! 145: if (!SCNG(yy_start)) {
! 146: SCNG(yy_start) = YYCURSOR;
! 147: }
! 148: }
! 149:
! 150: void startup_scanner(TSRMLS_D)
! 151: {
! 152: CG(heredoc) = NULL;
! 153: CG(heredoc_len) = 0;
! 154: CG(doc_comment) = NULL;
! 155: CG(doc_comment_len) = 0;
! 156: zend_stack_init(&SCNG(state_stack));
! 157: }
! 158:
! 159: void shutdown_scanner(TSRMLS_D)
! 160: {
! 161: if (CG(heredoc)) {
! 162: efree(CG(heredoc));
! 163: CG(heredoc_len)=0;
! 164: }
! 165: zend_stack_destroy(&SCNG(state_stack));
! 166: RESET_DOC_COMMENT();
! 167: }
! 168:
! 169: ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
! 170: {
! 171: lex_state->yy_leng = SCNG(yy_leng);
! 172: lex_state->yy_start = SCNG(yy_start);
! 173: lex_state->yy_text = SCNG(yy_text);
! 174: lex_state->yy_cursor = SCNG(yy_cursor);
! 175: lex_state->yy_marker = SCNG(yy_marker);
! 176: lex_state->yy_limit = SCNG(yy_limit);
! 177:
! 178: lex_state->state_stack = SCNG(state_stack);
! 179: zend_stack_init(&SCNG(state_stack));
! 180:
! 181: lex_state->in = SCNG(yy_in);
! 182: lex_state->yy_state = YYSTATE;
! 183: lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
! 184: lex_state->lineno = CG(zend_lineno);
! 185:
! 186: #ifdef ZEND_MULTIBYTE
! 187: lex_state->script_org = SCNG(script_org);
! 188: lex_state->script_org_size = SCNG(script_org_size);
! 189: lex_state->script_filtered = SCNG(script_filtered);
! 190: lex_state->script_filtered_size = SCNG(script_filtered_size);
! 191: lex_state->input_filter = SCNG(input_filter);
! 192: lex_state->output_filter = SCNG(output_filter);
! 193: lex_state->script_encoding = SCNG(script_encoding);
! 194: lex_state->internal_encoding = SCNG(internal_encoding);
! 195: #endif /* ZEND_MULTIBYTE */
! 196: }
! 197:
! 198: ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
! 199: {
! 200: SCNG(yy_leng) = lex_state->yy_leng;
! 201: SCNG(yy_start) = lex_state->yy_start;
! 202: SCNG(yy_text) = lex_state->yy_text;
! 203: SCNG(yy_cursor) = lex_state->yy_cursor;
! 204: SCNG(yy_marker) = lex_state->yy_marker;
! 205: SCNG(yy_limit) = lex_state->yy_limit;
! 206:
! 207: zend_stack_destroy(&SCNG(state_stack));
! 208: SCNG(state_stack) = lex_state->state_stack;
! 209:
! 210: SCNG(yy_in) = lex_state->in;
! 211: YYSETCONDITION(lex_state->yy_state);
! 212: CG(zend_lineno) = lex_state->lineno;
! 213: zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
! 214: #ifdef ZEND_MULTIBYTE
! 215: if (SCNG(script_org)) {
! 216: efree(SCNG(script_org));
! 217: SCNG(script_org) = NULL;
! 218: }
! 219: if (SCNG(script_filtered)) {
! 220: efree(SCNG(script_filtered));
! 221: SCNG(script_filtered) = NULL;
! 222: }
! 223: SCNG(script_org) = lex_state->script_org;
! 224: SCNG(script_org_size) = lex_state->script_org_size;
! 225: SCNG(script_filtered) = lex_state->script_filtered;
! 226: SCNG(script_filtered_size) = lex_state->script_filtered_size;
! 227: SCNG(input_filter) = lex_state->input_filter;
! 228: SCNG(output_filter) = lex_state->output_filter;
! 229: SCNG(script_encoding) = lex_state->script_encoding;
! 230: SCNG(internal_encoding) = lex_state->internal_encoding;
! 231: #endif /* ZEND_MULTIBYTE */
! 232:
! 233: if (CG(heredoc)) {
! 234: efree(CG(heredoc));
! 235: CG(heredoc) = NULL;
! 236: CG(heredoc_len) = 0;
! 237: }
! 238: }
! 239:
! 240: ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
! 241: {
! 242: zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
! 243: /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
! 244: file_handle->opened_path = NULL;
! 245: if (file_handle->free_filename) {
! 246: file_handle->filename = NULL;
! 247: }
! 248: }
! 249:
! 250:
! 251: ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
! 252: {
! 253: char *file_path = NULL, *buf;
! 254: size_t size, offset = 0;
! 255:
! 256: /* The shebang line was read, get the current position to obtain the buffer start */
! 257: if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
! 258: if ((offset = ftell(file_handle->handle.fp)) == -1) {
! 259: offset = 0;
! 260: }
! 261: }
! 262:
! 263: if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) {
! 264: return FAILURE;
! 265: }
! 266:
! 267: zend_llist_add_element(&CG(open_files), file_handle);
! 268: if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) {
! 269: zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files));
! 270: size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle;
! 271: fh->handle.stream.handle = (void*)(((char*)fh) + diff);
! 272: file_handle->handle.stream.handle = fh->handle.stream.handle;
! 273: }
! 274:
! 275: /* Reset the scanner for scanning the new file */
! 276: SCNG(yy_in) = file_handle;
! 277: SCNG(yy_start) = NULL;
! 278:
! 279: if (size != -1) {
! 280: #ifdef ZEND_MULTIBYTE
! 281: if (zend_multibyte_read_script((unsigned char *)buf, size TSRMLS_CC) != 0) {
! 282: return FAILURE;
! 283: }
! 284:
! 285: SCNG(yy_in) = NULL;
! 286:
! 287: zend_multibyte_set_filter(NULL TSRMLS_CC);
! 288:
! 289: if (!SCNG(input_filter)) {
! 290: SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
! 291: memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
! 292: SCNG(script_filtered_size) = SCNG(script_org_size);
! 293: } else {
! 294: SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
! 295: if (SCNG(script_filtered) == NULL) {
! 296: zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
! 297: "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name);
! 298: }
! 299: }
! 300: SCNG(yy_start) = SCNG(script_filtered) - offset;
! 301: yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
! 302: #else /* !ZEND_MULTIBYTE */
! 303: SCNG(yy_start) = buf - offset;
! 304: yy_scan_buffer(buf, size TSRMLS_CC);
! 305: #endif /* ZEND_MULTIBYTE */
! 306: } else {
! 307: zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
! 308: }
! 309:
! 310: BEGIN(INITIAL);
! 311:
! 312: if (file_handle->opened_path) {
! 313: file_path = file_handle->opened_path;
! 314: } else {
! 315: file_path = file_handle->filename;
! 316: }
! 317:
! 318: zend_set_compiled_filename(file_path TSRMLS_CC);
! 319:
! 320: if (CG(start_lineno)) {
! 321: CG(zend_lineno) = CG(start_lineno);
! 322: CG(start_lineno) = 0;
! 323: } else {
! 324: CG(zend_lineno) = 1;
! 325: }
! 326:
! 327: CG(increment_lineno) = 0;
! 328: return SUCCESS;
! 329: }
! 330: END_EXTERN_C()
! 331:
! 332:
! 333: ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
! 334: {
! 335: zend_lex_state original_lex_state;
! 336: zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
! 337: zend_op_array *original_active_op_array = CG(active_op_array);
! 338: zend_op_array *retval=NULL;
! 339: int compiler_result;
! 340: zend_bool compilation_successful=0;
! 341: znode retval_znode;
! 342: zend_bool original_in_compilation = CG(in_compilation);
! 343:
! 344: retval_znode.op_type = IS_CONST;
! 345: retval_znode.u.constant.type = IS_LONG;
! 346: retval_znode.u.constant.value.lval = 1;
! 347: Z_UNSET_ISREF(retval_znode.u.constant);
! 348: Z_SET_REFCOUNT(retval_znode.u.constant, 1);
! 349:
! 350: zend_save_lexical_state(&original_lex_state TSRMLS_CC);
! 351:
! 352: retval = op_array; /* success oriented */
! 353:
! 354: if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
! 355: if (type==ZEND_REQUIRE) {
! 356: zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
! 357: zend_bailout();
! 358: } else {
! 359: zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
! 360: }
! 361: compilation_successful=0;
! 362: } else {
! 363: init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
! 364: CG(in_compilation) = 1;
! 365: CG(active_op_array) = op_array;
! 366: compiler_result = zendparse(TSRMLS_C);
! 367: zend_do_return(&retval_znode, 0 TSRMLS_CC);
! 368: CG(in_compilation) = original_in_compilation;
! 369: if (compiler_result==1) { /* parser error */
! 370: zend_bailout();
! 371: }
! 372: compilation_successful=1;
! 373: }
! 374:
! 375: if (retval) {
! 376: CG(active_op_array) = original_active_op_array;
! 377: if (compilation_successful) {
! 378: pass_two(op_array TSRMLS_CC);
! 379: zend_release_labels(TSRMLS_C);
! 380: } else {
! 381: efree(op_array);
! 382: retval = NULL;
! 383: }
! 384: }
! 385: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 386: return retval;
! 387: }
! 388:
! 389:
! 390: zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
! 391: {
! 392: zend_file_handle file_handle;
! 393: zval tmp;
! 394: zend_op_array *retval;
! 395: char *opened_path = NULL;
! 396:
! 397: if (filename->type != IS_STRING) {
! 398: tmp = *filename;
! 399: zval_copy_ctor(&tmp);
! 400: convert_to_string(&tmp);
! 401: filename = &tmp;
! 402: }
! 403: file_handle.filename = filename->value.str.val;
! 404: file_handle.free_filename = 0;
! 405: file_handle.type = ZEND_HANDLE_FILENAME;
! 406: file_handle.opened_path = NULL;
! 407: file_handle.handle.fp = NULL;
! 408:
! 409: retval = zend_compile_file(&file_handle, type TSRMLS_CC);
! 410: if (retval && file_handle.handle.stream.handle) {
! 411: int dummy = 1;
! 412:
! 413: if (!file_handle.opened_path) {
! 414: file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
! 415: }
! 416:
! 417: zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
! 418:
! 419: if (opened_path) {
! 420: efree(opened_path);
! 421: }
! 422: }
! 423: zend_destroy_file_handle(&file_handle TSRMLS_CC);
! 424:
! 425: if (filename==&tmp) {
! 426: zval_dtor(&tmp);
! 427: }
! 428: return retval;
! 429: }
! 430:
! 431: ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
! 432: {
! 433: /* enforce two trailing NULLs for flex... */
! 434: str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
! 435:
! 436: memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
! 437:
! 438: SCNG(yy_in)=NULL;
! 439: SCNG(yy_start) = NULL;
! 440:
! 441: #ifdef ZEND_MULTIBYTE
! 442: SCNG(script_org) = (unsigned char *)estrdup(str->value.str.val);
! 443: SCNG(script_org_size) = str->value.str.len;
! 444:
! 445: zend_multibyte_set_filter(CG(internal_encoding) TSRMLS_CC);
! 446:
! 447: if (!SCNG(input_filter)) {
! 448: SCNG(script_filtered) = (unsigned char*)emalloc(SCNG(script_org_size)+1);
! 449: memcpy(SCNG(script_filtered), SCNG(script_org), SCNG(script_org_size)+1);
! 450: SCNG(script_filtered_size) = SCNG(script_org_size);
! 451: } else {
! 452: SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC);
! 453: }
! 454:
! 455: yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC);
! 456: #else /* !ZEND_MULTIBYTE */
! 457: yy_scan_buffer(str->value.str.val, str->value.str.len TSRMLS_CC);
! 458: #endif /* ZEND_MULTIBYTE */
! 459:
! 460: zend_set_compiled_filename(filename TSRMLS_CC);
! 461: CG(zend_lineno) = 1;
! 462: CG(increment_lineno) = 0;
! 463: return SUCCESS;
! 464: }
! 465:
! 466:
! 467: ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
! 468: {
! 469: size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
! 470: #ifdef ZEND_MULTIBYTE
! 471: if (SCNG(input_filter)) {
! 472: size_t original_offset = offset, length = 0; do {
! 473: unsigned char *p = NULL;
! 474: SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC);
! 475: if (!p) {
! 476: break;
! 477: }
! 478: efree(p);
! 479: if (length > original_offset) {
! 480: offset--;
! 481: } else if (length < original_offset) {
! 482: offset++;
! 483: }
! 484: } while (original_offset != length);
! 485: }
! 486: #endif
! 487: return offset;
! 488: }
! 489:
! 490:
! 491: zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
! 492: {
! 493: zend_lex_state original_lex_state;
! 494: zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
! 495: zend_op_array *original_active_op_array = CG(active_op_array);
! 496: zend_op_array *retval;
! 497: zval tmp;
! 498: int compiler_result;
! 499: zend_bool original_in_compilation = CG(in_compilation);
! 500:
! 501: if (source_string->value.str.len==0) {
! 502: efree(op_array);
! 503: return NULL;
! 504: }
! 505:
! 506: CG(in_compilation) = 1;
! 507:
! 508: tmp = *source_string;
! 509: zval_copy_ctor(&tmp);
! 510: convert_to_string(&tmp);
! 511: source_string = &tmp;
! 512:
! 513: zend_save_lexical_state(&original_lex_state TSRMLS_CC);
! 514: if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
! 515: efree(op_array);
! 516: retval = NULL;
! 517: } else {
! 518: zend_bool orig_interactive = CG(interactive);
! 519:
! 520: CG(interactive) = 0;
! 521: init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
! 522: CG(interactive) = orig_interactive;
! 523: CG(active_op_array) = op_array;
! 524: BEGIN(ST_IN_SCRIPTING);
! 525: compiler_result = zendparse(TSRMLS_C);
! 526:
! 527: #ifdef ZEND_MULTIBYTE
! 528: if (SCNG(script_org)) {
! 529: efree(SCNG(script_org));
! 530: SCNG(script_org) = NULL;
! 531: }
! 532: if (SCNG(script_filtered)) {
! 533: efree(SCNG(script_filtered));
! 534: SCNG(script_filtered) = NULL;
! 535: }
! 536: #endif /* ZEND_MULTIBYTE */
! 537:
! 538: if (compiler_result==1) {
! 539: CG(active_op_array) = original_active_op_array;
! 540: CG(unclean_shutdown)=1;
! 541: destroy_op_array(op_array TSRMLS_CC);
! 542: efree(op_array);
! 543: retval = NULL;
! 544: } else {
! 545: zend_do_return(NULL, 0 TSRMLS_CC);
! 546: CG(active_op_array) = original_active_op_array;
! 547: pass_two(op_array TSRMLS_CC);
! 548: zend_release_labels(TSRMLS_C);
! 549: retval = op_array;
! 550: }
! 551: }
! 552: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 553: zval_dtor(&tmp);
! 554: CG(in_compilation) = original_in_compilation;
! 555: return retval;
! 556: }
! 557:
! 558:
! 559: BEGIN_EXTERN_C()
! 560: int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
! 561: {
! 562: zend_lex_state original_lex_state;
! 563: zend_file_handle file_handle;
! 564:
! 565: file_handle.type = ZEND_HANDLE_FILENAME;
! 566: file_handle.filename = filename;
! 567: file_handle.free_filename = 0;
! 568: file_handle.opened_path = NULL;
! 569: zend_save_lexical_state(&original_lex_state TSRMLS_CC);
! 570: if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
! 571: zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC);
! 572: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 573: return FAILURE;
! 574: }
! 575: zend_highlight(syntax_highlighter_ini TSRMLS_CC);
! 576: #ifdef ZEND_MULTIBYTE
! 577: if (SCNG(script_org)) {
! 578: efree(SCNG(script_org));
! 579: SCNG(script_org) = NULL;
! 580: }
! 581: if (SCNG(script_filtered)) {
! 582: efree(SCNG(script_filtered));
! 583: SCNG(script_filtered) = NULL;
! 584: }
! 585: #endif /* ZEND_MULTIBYTE */
! 586: zend_destroy_file_handle(&file_handle TSRMLS_CC);
! 587: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 588: return SUCCESS;
! 589: }
! 590:
! 591: int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
! 592: {
! 593: zend_lex_state original_lex_state;
! 594: zval tmp = *str;
! 595:
! 596: str = &tmp;
! 597: zval_copy_ctor(str);
! 598: zend_save_lexical_state(&original_lex_state TSRMLS_CC);
! 599: if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
! 600: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 601: return FAILURE;
! 602: }
! 603: BEGIN(INITIAL);
! 604: zend_highlight(syntax_highlighter_ini TSRMLS_CC);
! 605: #ifdef ZEND_MULTIBYTE
! 606: if (SCNG(script_org)) {
! 607: efree(SCNG(script_org));
! 608: SCNG(script_org) = NULL;
! 609: }
! 610: if (SCNG(script_filtered)) {
! 611: efree(SCNG(script_filtered));
! 612: SCNG(script_filtered) = NULL;
! 613: }
! 614: #endif /* ZEND_MULTIBYTE */
! 615: zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
! 616: zval_dtor(str);
! 617: return SUCCESS;
! 618: }
! 619: END_EXTERN_C()
! 620:
! 621: #ifdef ZEND_MULTIBYTE
! 622:
! 623: BEGIN_EXTERN_C()
! 624: ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, zend_encoding *old_encoding TSRMLS_DC)
! 625: {
! 626: size_t original_offset, offset, free_flag, new_len, length;
! 627: unsigned char *p;
! 628:
! 629: /* calculate current position */
! 630: offset = original_offset = YYCURSOR - SCNG(yy_start);
! 631: if (old_input_filter && offset > 0) {
! 632: zend_encoding *new_encoding = SCNG(script_encoding);
! 633: zend_encoding_filter new_filter = SCNG(input_filter);
! 634: SCNG(script_encoding) = old_encoding;
! 635: SCNG(input_filter) = old_input_filter;
! 636: offset = zend_get_scanned_file_offset(TSRMLS_C);
! 637: SCNG(script_encoding) = new_encoding;
! 638: SCNG(input_filter) = new_filter;
! 639: }
! 640:
! 641: /* convert and set */
! 642: if (!SCNG(input_filter)) {
! 643: length = SCNG(script_org_size) - offset;
! 644: p = SCNG(script_org) + offset;
! 645: free_flag = 0;
! 646: } else {
! 647: SCNG(input_filter)(&p, &length, SCNG(script_org) + offset, SCNG(script_org_size) - offset TSRMLS_CC);
! 648: free_flag = 1;
! 649: }
! 650:
! 651: new_len = original_offset + length;
! 652:
! 653: if (new_len > YYLIMIT - SCNG(yy_start)) {
! 654: unsigned char *new_yy_start = erealloc(SCNG(yy_start), new_len);
! 655: SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
! 656: SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
! 657: SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
! 658: SCNG(yy_start) = new_yy_start;
! 659: SCNG(script_filtered) = new_yy_start;
! 660: SCNG(script_filtered_size) = new_len;
! 661: }
! 662:
! 663: SCNG(yy_limit) = SCNG(yy_start) + new_len;
! 664: memmove(SCNG(yy_start) + original_offset, p, length);
! 665:
! 666: if (free_flag) {
! 667: efree(p);
! 668: }
! 669: }
! 670:
! 671:
! 672: ZEND_API int zend_multibyte_yyinput(zend_file_handle *file_handle, char *buf, size_t len TSRMLS_DC)
! 673: {
! 674: size_t n;
! 675:
! 676: if (CG(interactive) == 0) {
! 677: if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {
! 678: return FAILURE;
! 679: }
! 680: n = len;
! 681: return n;
! 682: }
! 683:
! 684: /* interactive */
! 685: if (SCNG(script_org)) {
! 686: efree(SCNG(script_org));
! 687: }
! 688: if (SCNG(script_filtered)) {
! 689: efree(SCNG(script_filtered));
! 690: }
! 691: SCNG(script_org) = NULL;
! 692: SCNG(script_org_size) = 0;
! 693:
! 694: /* TODO: support widechars */
! 695: if (zend_stream_fixup(file_handle, &buf, &len TSRMLS_CC) == FAILURE) {
! 696: return FAILURE;
! 697: }
! 698: n = len;
! 699:
! 700: SCNG(script_org_size) = n;
! 701: SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
! 702: memcpy(SCNG(script_org), buf, n);
! 703:
! 704: return n;
! 705: }
! 706:
! 707:
! 708: ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
! 709: {
! 710: if (SCNG(script_org)) {
! 711: efree(SCNG(script_org));
! 712: SCNG(script_org) = NULL;
! 713: }
! 714: SCNG(script_org_size) = n;
! 715:
! 716: SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
! 717: memcpy(SCNG(script_org), buf, n);
! 718: *(SCNG(script_org)+SCNG(script_org_size)) = '\0';
! 719:
! 720: return 0;
! 721: }
! 722:
! 723:
! 724: # define zend_copy_value(zendlval, yytext, yyleng) \
! 725: if (SCNG(output_filter)) { \
! 726: size_t sz = 0; \
! 727: SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
! 728: zendlval->value.str.len = sz; \
! 729: } else { \
! 730: zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
! 731: zendlval->value.str.len = yyleng; \
! 732: }
! 733: #else /* ZEND_MULTIBYTE */
! 734: # define zend_copy_value(zendlval, yytext, yyleng) \
! 735: zendlval->value.str.val = (char *)estrndup(yytext, yyleng); \
! 736: zendlval->value.str.len = yyleng;
! 737: #endif /* ZEND_MULTIBYTE */
! 738:
! 739: static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
! 740: {
! 741: register char *s, *t;
! 742: char *end;
! 743:
! 744: ZVAL_STRINGL(zendlval, str, len, 1);
! 745:
! 746: /* convert escape sequences */
! 747: s = t = zendlval->value.str.val;
! 748: end = s+zendlval->value.str.len;
! 749: while (s<end) {
! 750: if (*s=='\\') {
! 751: s++;
! 752: if (s >= end) {
! 753: *t++ = '\\';
! 754: break;
! 755: }
! 756:
! 757: switch(*s) {
! 758: case 'n':
! 759: *t++ = '\n';
! 760: zendlval->value.str.len--;
! 761: break;
! 762: case 'r':
! 763: *t++ = '\r';
! 764: zendlval->value.str.len--;
! 765: break;
! 766: case 't':
! 767: *t++ = '\t';
! 768: zendlval->value.str.len--;
! 769: break;
! 770: case 'f':
! 771: *t++ = '\f';
! 772: zendlval->value.str.len--;
! 773: break;
! 774: case 'v':
! 775: *t++ = '\v';
! 776: zendlval->value.str.len--;
! 777: break;
! 778: case '"':
! 779: case '`':
! 780: if (*s != quote_type) {
! 781: *t++ = '\\';
! 782: *t++ = *s;
! 783: break;
! 784: }
! 785: case '\\':
! 786: case '$':
! 787: *t++ = *s;
! 788: zendlval->value.str.len--;
! 789: break;
! 790: case 'x':
! 791: case 'X':
! 792: if (ZEND_IS_HEX(*(s+1))) {
! 793: char hex_buf[3] = { 0, 0, 0 };
! 794:
! 795: zendlval->value.str.len--; /* for the 'x' */
! 796:
! 797: hex_buf[0] = *(++s);
! 798: zendlval->value.str.len--;
! 799: if (ZEND_IS_HEX(*(s+1))) {
! 800: hex_buf[1] = *(++s);
! 801: zendlval->value.str.len--;
! 802: }
! 803: *t++ = (char) strtol(hex_buf, NULL, 16);
! 804: } else {
! 805: *t++ = '\\';
! 806: *t++ = *s;
! 807: }
! 808: break;
! 809: default:
! 810: /* check for an octal */
! 811: if (ZEND_IS_OCT(*s)) {
! 812: char octal_buf[4] = { 0, 0, 0, 0 };
! 813:
! 814: octal_buf[0] = *s;
! 815: zendlval->value.str.len--;
! 816: if (ZEND_IS_OCT(*(s+1))) {
! 817: octal_buf[1] = *(++s);
! 818: zendlval->value.str.len--;
! 819: if (ZEND_IS_OCT(*(s+1))) {
! 820: octal_buf[2] = *(++s);
! 821: zendlval->value.str.len--;
! 822: }
! 823: }
! 824: *t++ = (char) strtol(octal_buf, NULL, 8);
! 825: } else {
! 826: *t++ = '\\';
! 827: *t++ = *s;
! 828: }
! 829: break;
! 830: }
! 831: } else {
! 832: *t++ = *s;
! 833: }
! 834:
! 835: if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
! 836: CG(zend_lineno)++;
! 837: }
! 838: s++;
! 839: }
! 840: *t = 0;
! 841: #ifdef ZEND_MULTIBYTE
! 842: if (SCNG(output_filter)) {
! 843: size_t sz = 0;
! 844: s = zendlval->value.str.val;
! 845: SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
! 846: zendlval->value.str.len = sz;
! 847: efree(s);
! 848: }
! 849: #endif /* ZEND_MULTIBYTE */
! 850: }
! 851:
! 852:
! 853: int lex_scan(zval *zendlval TSRMLS_DC)
! 854: {
! 855: restart:
! 856: SCNG(yy_text) = YYCURSOR;
! 857:
! 858: yymore_restart:
! 859:
! 860:
! 861: #line 862 "Zend/zend_language_scanner.c"
! 862: {
! 863: YYCTYPE yych;
! 864: unsigned int yyaccept = 0;
! 865: if (YYGETCONDITION() < 5) {
! 866: if (YYGETCONDITION() < 2) {
! 867: if (YYGETCONDITION() < 1) {
! 868: goto yyc_ST_IN_SCRIPTING;
! 869: } else {
! 870: goto yyc_ST_LOOKING_FOR_PROPERTY;
! 871: }
! 872: } else {
! 873: if (YYGETCONDITION() < 3) {
! 874: goto yyc_ST_BACKQUOTE;
! 875: } else {
! 876: if (YYGETCONDITION() < 4) {
! 877: goto yyc_ST_DOUBLE_QUOTES;
! 878: } else {
! 879: goto yyc_ST_HEREDOC;
! 880: }
! 881: }
! 882: }
! 883: } else {
! 884: if (YYGETCONDITION() < 7) {
! 885: if (YYGETCONDITION() < 6) {
! 886: goto yyc_ST_LOOKING_FOR_VARNAME;
! 887: } else {
! 888: goto yyc_ST_VAR_OFFSET;
! 889: }
! 890: } else {
! 891: if (YYGETCONDITION() < 8) {
! 892: goto yyc_INITIAL;
! 893: } else {
! 894: if (YYGETCONDITION() < 9) {
! 895: goto yyc_ST_END_HEREDOC;
! 896: } else {
! 897: goto yyc_ST_NOWDOC;
! 898: }
! 899: }
! 900: }
! 901: }
! 902: /* *********************************** */
! 903: yyc_INITIAL:
! 904: {
! 905: static const unsigned char yybm[] = {
! 906: 0, 0, 0, 0, 0, 0, 0, 0,
! 907: 0, 128, 128, 0, 0, 128, 0, 0,
! 908: 0, 0, 0, 0, 0, 0, 0, 0,
! 909: 0, 0, 0, 0, 0, 0, 0, 0,
! 910: 128, 0, 0, 0, 0, 0, 0, 0,
! 911: 0, 0, 0, 0, 0, 0, 0, 0,
! 912: 0, 0, 0, 0, 0, 0, 0, 0,
! 913: 0, 0, 0, 0, 0, 0, 0, 0,
! 914: 0, 0, 0, 0, 0, 0, 0, 0,
! 915: 0, 0, 0, 0, 0, 0, 0, 0,
! 916: 0, 0, 0, 0, 0, 0, 0, 0,
! 917: 0, 0, 0, 0, 0, 0, 0, 0,
! 918: 0, 0, 0, 0, 0, 0, 0, 0,
! 919: 0, 0, 0, 0, 0, 0, 0, 0,
! 920: 0, 0, 0, 0, 0, 0, 0, 0,
! 921: 0, 0, 0, 0, 0, 0, 0, 0,
! 922: 0, 0, 0, 0, 0, 0, 0, 0,
! 923: 0, 0, 0, 0, 0, 0, 0, 0,
! 924: 0, 0, 0, 0, 0, 0, 0, 0,
! 925: 0, 0, 0, 0, 0, 0, 0, 0,
! 926: 0, 0, 0, 0, 0, 0, 0, 0,
! 927: 0, 0, 0, 0, 0, 0, 0, 0,
! 928: 0, 0, 0, 0, 0, 0, 0, 0,
! 929: 0, 0, 0, 0, 0, 0, 0, 0,
! 930: 0, 0, 0, 0, 0, 0, 0, 0,
! 931: 0, 0, 0, 0, 0, 0, 0, 0,
! 932: 0, 0, 0, 0, 0, 0, 0, 0,
! 933: 0, 0, 0, 0, 0, 0, 0, 0,
! 934: 0, 0, 0, 0, 0, 0, 0, 0,
! 935: 0, 0, 0, 0, 0, 0, 0, 0,
! 936: 0, 0, 0, 0, 0, 0, 0, 0,
! 937: 0, 0, 0, 0, 0, 0, 0, 0,
! 938: };
! 939:
! 940: YYDEBUG(0, *YYCURSOR);
! 941: YYFILL(8);
! 942: yych = *YYCURSOR;
! 943: if (yych != '<') goto yy4;
! 944: YYDEBUG(2, *YYCURSOR);
! 945: yyaccept = 0;
! 946: yych = *(YYMARKER = ++YYCURSOR);
! 947: if (yych <= '?') {
! 948: if (yych == '%') goto yy7;
! 949: if (yych >= '?') goto yy5;
! 950: } else {
! 951: if (yych <= 'S') {
! 952: if (yych >= 'S') goto yy9;
! 953: } else {
! 954: if (yych == 's') goto yy9;
! 955: }
! 956: }
! 957: yy3:
! 958: YYDEBUG(3, *YYCURSOR);
! 959: yyleng = YYCURSOR - SCNG(yy_text);
! 960: #line 1586 "Zend/zend_language_scanner.l"
! 961: {
! 962: if (YYCURSOR > YYLIMIT) {
! 963: return 0;
! 964: }
! 965:
! 966: inline_char_handler:
! 967:
! 968: while (1) {
! 969: YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
! 970:
! 971: YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
! 972:
! 973: if (YYCURSOR < YYLIMIT) {
! 974: switch (*YYCURSOR) {
! 975: case '?':
! 976: if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */
! 977: break;
! 978: }
! 979: continue;
! 980: case '%':
! 981: if (CG(asp_tags)) {
! 982: break;
! 983: }
! 984: continue;
! 985: case 's':
! 986: case 'S':
! 987: /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
! 988: * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
! 989: YYCURSOR--;
! 990: yymore();
! 991: default:
! 992: continue;
! 993: }
! 994:
! 995: YYCURSOR--;
! 996: }
! 997:
! 998: break;
! 999: }
! 1000:
! 1001: inline_html:
! 1002: yyleng = YYCURSOR - SCNG(yy_text);
! 1003:
! 1004: #ifdef ZEND_MULTIBYTE
! 1005: if (SCNG(output_filter)) {
! 1006: int readsize;
! 1007: size_t sz = 0;
! 1008: readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
! 1009: zendlval->value.str.len = sz;
! 1010: if (readsize < yyleng) {
! 1011: yyless(readsize);
! 1012: }
! 1013: } else {
! 1014: zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
! 1015: zendlval->value.str.len = yyleng;
! 1016: }
! 1017: #else /* !ZEND_MULTIBYTE */
! 1018: zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
! 1019: zendlval->value.str.len = yyleng;
! 1020: #endif
! 1021: zendlval->type = IS_STRING;
! 1022: HANDLE_NEWLINES(yytext, yyleng);
! 1023: return T_INLINE_HTML;
! 1024: }
! 1025: #line 1026 "Zend/zend_language_scanner.c"
! 1026: yy4:
! 1027: YYDEBUG(4, *YYCURSOR);
! 1028: yych = *++YYCURSOR;
! 1029: goto yy3;
! 1030: yy5:
! 1031: YYDEBUG(5, *YYCURSOR);
! 1032: yyaccept = 1;
! 1033: yych = *(YYMARKER = ++YYCURSOR);
! 1034: if (yych <= 'O') {
! 1035: if (yych == '=') goto yy45;
! 1036: } else {
! 1037: if (yych <= 'P') goto yy47;
! 1038: if (yych == 'p') goto yy47;
! 1039: }
! 1040: yy6:
! 1041: YYDEBUG(6, *YYCURSOR);
! 1042: yyleng = YYCURSOR - SCNG(yy_text);
! 1043: #line 1574 "Zend/zend_language_scanner.l"
! 1044: {
! 1045: if (CG(short_tags)) {
! 1046: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1047: zendlval->value.str.len = yyleng;
! 1048: zendlval->type = IS_STRING;
! 1049: BEGIN(ST_IN_SCRIPTING);
! 1050: return T_OPEN_TAG;
! 1051: } else {
! 1052: goto inline_char_handler;
! 1053: }
! 1054: }
! 1055: #line 1056 "Zend/zend_language_scanner.c"
! 1056: yy7:
! 1057: YYDEBUG(7, *YYCURSOR);
! 1058: ++YYCURSOR;
! 1059: if ((yych = *YYCURSOR) == '=') goto yy43;
! 1060: YYDEBUG(8, *YYCURSOR);
! 1061: yyleng = YYCURSOR - SCNG(yy_text);
! 1062: #line 1551 "Zend/zend_language_scanner.l"
! 1063: {
! 1064: if (CG(asp_tags)) {
! 1065: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1066: zendlval->value.str.len = yyleng;
! 1067: zendlval->type = IS_STRING;
! 1068: BEGIN(ST_IN_SCRIPTING);
! 1069: return T_OPEN_TAG;
! 1070: } else {
! 1071: goto inline_char_handler;
! 1072: }
! 1073: }
! 1074: #line 1075 "Zend/zend_language_scanner.c"
! 1075: yy9:
! 1076: YYDEBUG(9, *YYCURSOR);
! 1077: yych = *++YYCURSOR;
! 1078: if (yych == 'C') goto yy11;
! 1079: if (yych == 'c') goto yy11;
! 1080: yy10:
! 1081: YYDEBUG(10, *YYCURSOR);
! 1082: YYCURSOR = YYMARKER;
! 1083: if (yyaccept <= 0) {
! 1084: goto yy3;
! 1085: } else {
! 1086: goto yy6;
! 1087: }
! 1088: yy11:
! 1089: YYDEBUG(11, *YYCURSOR);
! 1090: yych = *++YYCURSOR;
! 1091: if (yych == 'R') goto yy12;
! 1092: if (yych != 'r') goto yy10;
! 1093: yy12:
! 1094: YYDEBUG(12, *YYCURSOR);
! 1095: yych = *++YYCURSOR;
! 1096: if (yych == 'I') goto yy13;
! 1097: if (yych != 'i') goto yy10;
! 1098: yy13:
! 1099: YYDEBUG(13, *YYCURSOR);
! 1100: yych = *++YYCURSOR;
! 1101: if (yych == 'P') goto yy14;
! 1102: if (yych != 'p') goto yy10;
! 1103: yy14:
! 1104: YYDEBUG(14, *YYCURSOR);
! 1105: yych = *++YYCURSOR;
! 1106: if (yych == 'T') goto yy15;
! 1107: if (yych != 't') goto yy10;
! 1108: yy15:
! 1109: YYDEBUG(15, *YYCURSOR);
! 1110: yych = *++YYCURSOR;
! 1111: if (yych == 'L') goto yy10;
! 1112: if (yych == 'l') goto yy10;
! 1113: goto yy17;
! 1114: yy16:
! 1115: YYDEBUG(16, *YYCURSOR);
! 1116: ++YYCURSOR;
! 1117: YYFILL(8);
! 1118: yych = *YYCURSOR;
! 1119: yy17:
! 1120: YYDEBUG(17, *YYCURSOR);
! 1121: if (yybm[0+yych] & 128) {
! 1122: goto yy16;
! 1123: }
! 1124: if (yych == 'L') goto yy18;
! 1125: if (yych != 'l') goto yy10;
! 1126: yy18:
! 1127: YYDEBUG(18, *YYCURSOR);
! 1128: yych = *++YYCURSOR;
! 1129: if (yych == 'A') goto yy19;
! 1130: if (yych != 'a') goto yy10;
! 1131: yy19:
! 1132: YYDEBUG(19, *YYCURSOR);
! 1133: yych = *++YYCURSOR;
! 1134: if (yych == 'N') goto yy20;
! 1135: if (yych != 'n') goto yy10;
! 1136: yy20:
! 1137: YYDEBUG(20, *YYCURSOR);
! 1138: yych = *++YYCURSOR;
! 1139: if (yych == 'G') goto yy21;
! 1140: if (yych != 'g') goto yy10;
! 1141: yy21:
! 1142: YYDEBUG(21, *YYCURSOR);
! 1143: yych = *++YYCURSOR;
! 1144: if (yych == 'U') goto yy22;
! 1145: if (yych != 'u') goto yy10;
! 1146: yy22:
! 1147: YYDEBUG(22, *YYCURSOR);
! 1148: yych = *++YYCURSOR;
! 1149: if (yych == 'A') goto yy23;
! 1150: if (yych != 'a') goto yy10;
! 1151: yy23:
! 1152: YYDEBUG(23, *YYCURSOR);
! 1153: yych = *++YYCURSOR;
! 1154: if (yych == 'G') goto yy24;
! 1155: if (yych != 'g') goto yy10;
! 1156: yy24:
! 1157: YYDEBUG(24, *YYCURSOR);
! 1158: yych = *++YYCURSOR;
! 1159: if (yych == 'E') goto yy25;
! 1160: if (yych != 'e') goto yy10;
! 1161: yy25:
! 1162: YYDEBUG(25, *YYCURSOR);
! 1163: ++YYCURSOR;
! 1164: YYFILL(1);
! 1165: yych = *YYCURSOR;
! 1166: YYDEBUG(26, *YYCURSOR);
! 1167: if (yych <= '\r') {
! 1168: if (yych <= 0x08) goto yy10;
! 1169: if (yych <= '\n') goto yy25;
! 1170: if (yych <= '\f') goto yy10;
! 1171: goto yy25;
! 1172: } else {
! 1173: if (yych <= ' ') {
! 1174: if (yych <= 0x1F) goto yy10;
! 1175: goto yy25;
! 1176: } else {
! 1177: if (yych != '=') goto yy10;
! 1178: }
! 1179: }
! 1180: yy27:
! 1181: YYDEBUG(27, *YYCURSOR);
! 1182: ++YYCURSOR;
! 1183: YYFILL(5);
! 1184: yych = *YYCURSOR;
! 1185: YYDEBUG(28, *YYCURSOR);
! 1186: if (yych <= '!') {
! 1187: if (yych <= '\f') {
! 1188: if (yych <= 0x08) goto yy10;
! 1189: if (yych <= '\n') goto yy27;
! 1190: goto yy10;
! 1191: } else {
! 1192: if (yych <= '\r') goto yy27;
! 1193: if (yych == ' ') goto yy27;
! 1194: goto yy10;
! 1195: }
! 1196: } else {
! 1197: if (yych <= 'O') {
! 1198: if (yych <= '"') goto yy30;
! 1199: if (yych == '\'') goto yy31;
! 1200: goto yy10;
! 1201: } else {
! 1202: if (yych <= 'P') goto yy29;
! 1203: if (yych != 'p') goto yy10;
! 1204: }
! 1205: }
! 1206: yy29:
! 1207: YYDEBUG(29, *YYCURSOR);
! 1208: yych = *++YYCURSOR;
! 1209: if (yych == 'H') goto yy42;
! 1210: if (yych == 'h') goto yy42;
! 1211: goto yy10;
! 1212: yy30:
! 1213: YYDEBUG(30, *YYCURSOR);
! 1214: yych = *++YYCURSOR;
! 1215: if (yych == 'P') goto yy39;
! 1216: if (yych == 'p') goto yy39;
! 1217: goto yy10;
! 1218: yy31:
! 1219: YYDEBUG(31, *YYCURSOR);
! 1220: yych = *++YYCURSOR;
! 1221: if (yych == 'P') goto yy32;
! 1222: if (yych != 'p') goto yy10;
! 1223: yy32:
! 1224: YYDEBUG(32, *YYCURSOR);
! 1225: yych = *++YYCURSOR;
! 1226: if (yych == 'H') goto yy33;
! 1227: if (yych != 'h') goto yy10;
! 1228: yy33:
! 1229: YYDEBUG(33, *YYCURSOR);
! 1230: yych = *++YYCURSOR;
! 1231: if (yych == 'P') goto yy34;
! 1232: if (yych != 'p') goto yy10;
! 1233: yy34:
! 1234: YYDEBUG(34, *YYCURSOR);
! 1235: yych = *++YYCURSOR;
! 1236: if (yych != '\'') goto yy10;
! 1237: yy35:
! 1238: YYDEBUG(35, *YYCURSOR);
! 1239: ++YYCURSOR;
! 1240: YYFILL(1);
! 1241: yych = *YYCURSOR;
! 1242: YYDEBUG(36, *YYCURSOR);
! 1243: if (yych <= '\r') {
! 1244: if (yych <= 0x08) goto yy10;
! 1245: if (yych <= '\n') goto yy35;
! 1246: if (yych <= '\f') goto yy10;
! 1247: goto yy35;
! 1248: } else {
! 1249: if (yych <= ' ') {
! 1250: if (yych <= 0x1F) goto yy10;
! 1251: goto yy35;
! 1252: } else {
! 1253: if (yych != '>') goto yy10;
! 1254: }
! 1255: }
! 1256: YYDEBUG(37, *YYCURSOR);
! 1257: ++YYCURSOR;
! 1258: YYDEBUG(38, *YYCURSOR);
! 1259: yyleng = YYCURSOR - SCNG(yy_text);
! 1260: #line 1507 "Zend/zend_language_scanner.l"
! 1261: {
! 1262: YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
! 1263:
! 1264: if (bracket != SCNG(yy_text)) {
! 1265: /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */
! 1266: YYCURSOR = bracket;
! 1267: goto inline_html;
! 1268: }
! 1269:
! 1270: HANDLE_NEWLINES(yytext, yyleng);
! 1271: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1272: zendlval->value.str.len = yyleng;
! 1273: zendlval->type = IS_STRING;
! 1274: BEGIN(ST_IN_SCRIPTING);
! 1275: return T_OPEN_TAG;
! 1276: }
! 1277: #line 1278 "Zend/zend_language_scanner.c"
! 1278: yy39:
! 1279: YYDEBUG(39, *YYCURSOR);
! 1280: yych = *++YYCURSOR;
! 1281: if (yych == 'H') goto yy40;
! 1282: if (yych != 'h') goto yy10;
! 1283: yy40:
! 1284: YYDEBUG(40, *YYCURSOR);
! 1285: yych = *++YYCURSOR;
! 1286: if (yych == 'P') goto yy41;
! 1287: if (yych != 'p') goto yy10;
! 1288: yy41:
! 1289: YYDEBUG(41, *YYCURSOR);
! 1290: yych = *++YYCURSOR;
! 1291: if (yych == '"') goto yy35;
! 1292: goto yy10;
! 1293: yy42:
! 1294: YYDEBUG(42, *YYCURSOR);
! 1295: yych = *++YYCURSOR;
! 1296: if (yych == 'P') goto yy35;
! 1297: if (yych == 'p') goto yy35;
! 1298: goto yy10;
! 1299: yy43:
! 1300: YYDEBUG(43, *YYCURSOR);
! 1301: ++YYCURSOR;
! 1302: YYDEBUG(44, *YYCURSOR);
! 1303: yyleng = YYCURSOR - SCNG(yy_text);
! 1304: #line 1525 "Zend/zend_language_scanner.l"
! 1305: {
! 1306: if (CG(asp_tags)) {
! 1307: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1308: zendlval->value.str.len = yyleng;
! 1309: zendlval->type = IS_STRING;
! 1310: BEGIN(ST_IN_SCRIPTING);
! 1311: return T_OPEN_TAG_WITH_ECHO;
! 1312: } else {
! 1313: goto inline_char_handler;
! 1314: }
! 1315: }
! 1316: #line 1317 "Zend/zend_language_scanner.c"
! 1317: yy45:
! 1318: YYDEBUG(45, *YYCURSOR);
! 1319: ++YYCURSOR;
! 1320: YYDEBUG(46, *YYCURSOR);
! 1321: yyleng = YYCURSOR - SCNG(yy_text);
! 1322: #line 1538 "Zend/zend_language_scanner.l"
! 1323: {
! 1324: if (CG(short_tags)) {
! 1325: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1326: zendlval->value.str.len = yyleng;
! 1327: zendlval->type = IS_STRING;
! 1328: BEGIN(ST_IN_SCRIPTING);
! 1329: return T_OPEN_TAG_WITH_ECHO;
! 1330: } else {
! 1331: goto inline_char_handler;
! 1332: }
! 1333: }
! 1334: #line 1335 "Zend/zend_language_scanner.c"
! 1335: yy47:
! 1336: YYDEBUG(47, *YYCURSOR);
! 1337: yych = *++YYCURSOR;
! 1338: if (yych == 'H') goto yy48;
! 1339: if (yych != 'h') goto yy10;
! 1340: yy48:
! 1341: YYDEBUG(48, *YYCURSOR);
! 1342: yych = *++YYCURSOR;
! 1343: if (yych == 'P') goto yy49;
! 1344: if (yych != 'p') goto yy10;
! 1345: yy49:
! 1346: YYDEBUG(49, *YYCURSOR);
! 1347: yych = *++YYCURSOR;
! 1348: if (yych <= '\f') {
! 1349: if (yych <= 0x08) goto yy10;
! 1350: if (yych >= '\v') goto yy10;
! 1351: } else {
! 1352: if (yych <= '\r') goto yy52;
! 1353: if (yych != ' ') goto yy10;
! 1354: }
! 1355: yy50:
! 1356: YYDEBUG(50, *YYCURSOR);
! 1357: ++YYCURSOR;
! 1358: yy51:
! 1359: YYDEBUG(51, *YYCURSOR);
! 1360: yyleng = YYCURSOR - SCNG(yy_text);
! 1361: #line 1564 "Zend/zend_language_scanner.l"
! 1362: {
! 1363: zendlval->value.str.val = yytext; /* no copying - intentional */
! 1364: zendlval->value.str.len = yyleng;
! 1365: zendlval->type = IS_STRING;
! 1366: HANDLE_NEWLINE(yytext[yyleng-1]);
! 1367: BEGIN(ST_IN_SCRIPTING);
! 1368: return T_OPEN_TAG;
! 1369: }
! 1370: #line 1371 "Zend/zend_language_scanner.c"
! 1371: yy52:
! 1372: YYDEBUG(52, *YYCURSOR);
! 1373: ++YYCURSOR;
! 1374: if ((yych = *YYCURSOR) == '\n') goto yy50;
! 1375: goto yy51;
! 1376: }
! 1377: /* *********************************** */
! 1378: yyc_ST_BACKQUOTE:
! 1379: {
! 1380: static const unsigned char yybm[] = {
! 1381: 0, 0, 0, 0, 0, 0, 0, 0,
! 1382: 0, 0, 0, 0, 0, 0, 0, 0,
! 1383: 0, 0, 0, 0, 0, 0, 0, 0,
! 1384: 0, 0, 0, 0, 0, 0, 0, 0,
! 1385: 0, 0, 0, 0, 0, 0, 0, 0,
! 1386: 0, 0, 0, 0, 0, 0, 0, 0,
! 1387: 128, 128, 128, 128, 128, 128, 128, 128,
! 1388: 128, 128, 0, 0, 0, 0, 0, 0,
! 1389: 0, 128, 128, 128, 128, 128, 128, 128,
! 1390: 128, 128, 128, 128, 128, 128, 128, 128,
! 1391: 128, 128, 128, 128, 128, 128, 128, 128,
! 1392: 128, 128, 128, 0, 0, 0, 0, 128,
! 1393: 0, 128, 128, 128, 128, 128, 128, 128,
! 1394: 128, 128, 128, 128, 128, 128, 128, 128,
! 1395: 128, 128, 128, 128, 128, 128, 128, 128,
! 1396: 128, 128, 128, 0, 0, 0, 0, 128,
! 1397: 128, 128, 128, 128, 128, 128, 128, 128,
! 1398: 128, 128, 128, 128, 128, 128, 128, 128,
! 1399: 128, 128, 128, 128, 128, 128, 128, 128,
! 1400: 128, 128, 128, 128, 128, 128, 128, 128,
! 1401: 128, 128, 128, 128, 128, 128, 128, 128,
! 1402: 128, 128, 128, 128, 128, 128, 128, 128,
! 1403: 128, 128, 128, 128, 128, 128, 128, 128,
! 1404: 128, 128, 128, 128, 128, 128, 128, 128,
! 1405: 128, 128, 128, 128, 128, 128, 128, 128,
! 1406: 128, 128, 128, 128, 128, 128, 128, 128,
! 1407: 128, 128, 128, 128, 128, 128, 128, 128,
! 1408: 128, 128, 128, 128, 128, 128, 128, 128,
! 1409: 128, 128, 128, 128, 128, 128, 128, 128,
! 1410: 128, 128, 128, 128, 128, 128, 128, 128,
! 1411: 128, 128, 128, 128, 128, 128, 128, 128,
! 1412: 128, 128, 128, 128, 128, 128, 128, 128,
! 1413: };
! 1414: YYDEBUG(53, *YYCURSOR);
! 1415: YYFILL(2);
! 1416: yych = *YYCURSOR;
! 1417: if (yych <= '_') {
! 1418: if (yych != '$') goto yy60;
! 1419: } else {
! 1420: if (yych <= '`') goto yy58;
! 1421: if (yych == '{') goto yy57;
! 1422: goto yy60;
! 1423: }
! 1424: YYDEBUG(55, *YYCURSOR);
! 1425: ++YYCURSOR;
! 1426: if ((yych = *YYCURSOR) <= '_') {
! 1427: if (yych <= '@') goto yy56;
! 1428: if (yych <= 'Z') goto yy63;
! 1429: if (yych >= '_') goto yy63;
! 1430: } else {
! 1431: if (yych <= 'z') {
! 1432: if (yych >= 'a') goto yy63;
! 1433: } else {
! 1434: if (yych <= '{') goto yy66;
! 1435: if (yych >= 0x7F) goto yy63;
! 1436: }
! 1437: }
! 1438: yy56:
! 1439: YYDEBUG(56, *YYCURSOR);
! 1440: yyleng = YYCURSOR - SCNG(yy_text);
! 1441: #line 2044 "Zend/zend_language_scanner.l"
! 1442: {
! 1443: if (YYCURSOR > YYLIMIT) {
! 1444: return 0;
! 1445: }
! 1446: if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
! 1447: YYCURSOR++;
! 1448: }
! 1449:
! 1450: while (YYCURSOR < YYLIMIT) {
! 1451: switch (*YYCURSOR++) {
! 1452: case '`':
! 1453: break;
! 1454: case '$':
! 1455: if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
! 1456: break;
! 1457: }
! 1458: continue;
! 1459: case '{':
! 1460: if (*YYCURSOR == '$') {
! 1461: break;
! 1462: }
! 1463: continue;
! 1464: case '\\':
! 1465: if (YYCURSOR < YYLIMIT) {
! 1466: YYCURSOR++;
! 1467: }
! 1468: /* fall through */
! 1469: default:
! 1470: continue;
! 1471: }
! 1472:
! 1473: YYCURSOR--;
! 1474: break;
! 1475: }
! 1476:
! 1477: yyleng = YYCURSOR - SCNG(yy_text);
! 1478:
! 1479: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
! 1480: return T_ENCAPSED_AND_WHITESPACE;
! 1481: }
! 1482: #line 1483 "Zend/zend_language_scanner.c"
! 1483: yy57:
! 1484: YYDEBUG(57, *YYCURSOR);
! 1485: yych = *++YYCURSOR;
! 1486: if (yych == '$') goto yy61;
! 1487: goto yy56;
! 1488: yy58:
! 1489: YYDEBUG(58, *YYCURSOR);
! 1490: ++YYCURSOR;
! 1491: YYDEBUG(59, *YYCURSOR);
! 1492: yyleng = YYCURSOR - SCNG(yy_text);
! 1493: #line 1988 "Zend/zend_language_scanner.l"
! 1494: {
! 1495: BEGIN(ST_IN_SCRIPTING);
! 1496: return '`';
! 1497: }
! 1498: #line 1499 "Zend/zend_language_scanner.c"
! 1499: yy60:
! 1500: YYDEBUG(60, *YYCURSOR);
! 1501: yych = *++YYCURSOR;
! 1502: goto yy56;
! 1503: yy61:
! 1504: YYDEBUG(61, *YYCURSOR);
! 1505: ++YYCURSOR;
! 1506: YYDEBUG(62, *YYCURSOR);
! 1507: yyleng = YYCURSOR - SCNG(yy_text);
! 1508: #line 1975 "Zend/zend_language_scanner.l"
! 1509: {
! 1510: zendlval->value.lval = (long) '{';
! 1511: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 1512: yyless(1);
! 1513: return T_CURLY_OPEN;
! 1514: }
! 1515: #line 1516 "Zend/zend_language_scanner.c"
! 1516: yy63:
! 1517: YYDEBUG(63, *YYCURSOR);
! 1518: yyaccept = 0;
! 1519: YYMARKER = ++YYCURSOR;
! 1520: YYFILL(3);
! 1521: yych = *YYCURSOR;
! 1522: YYDEBUG(64, *YYCURSOR);
! 1523: if (yybm[0+yych] & 128) {
! 1524: goto yy63;
! 1525: }
! 1526: if (yych == '-') goto yy68;
! 1527: if (yych == '[') goto yy70;
! 1528: yy65:
! 1529: YYDEBUG(65, *YYCURSOR);
! 1530: yyleng = YYCURSOR - SCNG(yy_text);
! 1531: #line 1673 "Zend/zend_language_scanner.l"
! 1532: {
! 1533: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1534: zendlval->type = IS_STRING;
! 1535: return T_VARIABLE;
! 1536: }
! 1537: #line 1538 "Zend/zend_language_scanner.c"
! 1538: yy66:
! 1539: YYDEBUG(66, *YYCURSOR);
! 1540: ++YYCURSOR;
! 1541: YYDEBUG(67, *YYCURSOR);
! 1542: yyleng = YYCURSOR - SCNG(yy_text);
! 1543: #line 1300 "Zend/zend_language_scanner.l"
! 1544: {
! 1545: yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
! 1546: return T_DOLLAR_OPEN_CURLY_BRACES;
! 1547: }
! 1548: #line 1549 "Zend/zend_language_scanner.c"
! 1549: yy68:
! 1550: YYDEBUG(68, *YYCURSOR);
! 1551: yych = *++YYCURSOR;
! 1552: if (yych == '>') goto yy72;
! 1553: yy69:
! 1554: YYDEBUG(69, *YYCURSOR);
! 1555: YYCURSOR = YYMARKER;
! 1556: goto yy65;
! 1557: yy70:
! 1558: YYDEBUG(70, *YYCURSOR);
! 1559: ++YYCURSOR;
! 1560: YYDEBUG(71, *YYCURSOR);
! 1561: yyleng = YYCURSOR - SCNG(yy_text);
! 1562: #line 1665 "Zend/zend_language_scanner.l"
! 1563: {
! 1564: yyless(yyleng - 1);
! 1565: yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
! 1566: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1567: zendlval->type = IS_STRING;
! 1568: return T_VARIABLE;
! 1569: }
! 1570: #line 1571 "Zend/zend_language_scanner.c"
! 1571: yy72:
! 1572: YYDEBUG(72, *YYCURSOR);
! 1573: yych = *++YYCURSOR;
! 1574: if (yych <= '_') {
! 1575: if (yych <= '@') goto yy69;
! 1576: if (yych <= 'Z') goto yy73;
! 1577: if (yych <= '^') goto yy69;
! 1578: } else {
! 1579: if (yych <= '`') goto yy69;
! 1580: if (yych <= 'z') goto yy73;
! 1581: if (yych <= '~') goto yy69;
! 1582: }
! 1583: yy73:
! 1584: YYDEBUG(73, *YYCURSOR);
! 1585: ++YYCURSOR;
! 1586: YYDEBUG(74, *YYCURSOR);
! 1587: yyleng = YYCURSOR - SCNG(yy_text);
! 1588: #line 1655 "Zend/zend_language_scanner.l"
! 1589: {
! 1590: yyless(yyleng - 3);
! 1591: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
! 1592: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1593: zendlval->type = IS_STRING;
! 1594: return T_VARIABLE;
! 1595: }
! 1596: #line 1597 "Zend/zend_language_scanner.c"
! 1597: }
! 1598: /* *********************************** */
! 1599: yyc_ST_DOUBLE_QUOTES:
! 1600: {
! 1601: static const unsigned char yybm[] = {
! 1602: 0, 0, 0, 0, 0, 0, 0, 0,
! 1603: 0, 0, 0, 0, 0, 0, 0, 0,
! 1604: 0, 0, 0, 0, 0, 0, 0, 0,
! 1605: 0, 0, 0, 0, 0, 0, 0, 0,
! 1606: 0, 0, 0, 0, 0, 0, 0, 0,
! 1607: 0, 0, 0, 0, 0, 0, 0, 0,
! 1608: 128, 128, 128, 128, 128, 128, 128, 128,
! 1609: 128, 128, 0, 0, 0, 0, 0, 0,
! 1610: 0, 128, 128, 128, 128, 128, 128, 128,
! 1611: 128, 128, 128, 128, 128, 128, 128, 128,
! 1612: 128, 128, 128, 128, 128, 128, 128, 128,
! 1613: 128, 128, 128, 0, 0, 0, 0, 128,
! 1614: 0, 128, 128, 128, 128, 128, 128, 128,
! 1615: 128, 128, 128, 128, 128, 128, 128, 128,
! 1616: 128, 128, 128, 128, 128, 128, 128, 128,
! 1617: 128, 128, 128, 0, 0, 0, 0, 128,
! 1618: 128, 128, 128, 128, 128, 128, 128, 128,
! 1619: 128, 128, 128, 128, 128, 128, 128, 128,
! 1620: 128, 128, 128, 128, 128, 128, 128, 128,
! 1621: 128, 128, 128, 128, 128, 128, 128, 128,
! 1622: 128, 128, 128, 128, 128, 128, 128, 128,
! 1623: 128, 128, 128, 128, 128, 128, 128, 128,
! 1624: 128, 128, 128, 128, 128, 128, 128, 128,
! 1625: 128, 128, 128, 128, 128, 128, 128, 128,
! 1626: 128, 128, 128, 128, 128, 128, 128, 128,
! 1627: 128, 128, 128, 128, 128, 128, 128, 128,
! 1628: 128, 128, 128, 128, 128, 128, 128, 128,
! 1629: 128, 128, 128, 128, 128, 128, 128, 128,
! 1630: 128, 128, 128, 128, 128, 128, 128, 128,
! 1631: 128, 128, 128, 128, 128, 128, 128, 128,
! 1632: 128, 128, 128, 128, 128, 128, 128, 128,
! 1633: 128, 128, 128, 128, 128, 128, 128, 128,
! 1634: };
! 1635: YYDEBUG(75, *YYCURSOR);
! 1636: YYFILL(2);
! 1637: yych = *YYCURSOR;
! 1638: if (yych <= '#') {
! 1639: if (yych == '"') goto yy80;
! 1640: goto yy82;
! 1641: } else {
! 1642: if (yych <= '$') goto yy77;
! 1643: if (yych == '{') goto yy79;
! 1644: goto yy82;
! 1645: }
! 1646: yy77:
! 1647: YYDEBUG(77, *YYCURSOR);
! 1648: ++YYCURSOR;
! 1649: if ((yych = *YYCURSOR) <= '_') {
! 1650: if (yych <= '@') goto yy78;
! 1651: if (yych <= 'Z') goto yy85;
! 1652: if (yych >= '_') goto yy85;
! 1653: } else {
! 1654: if (yych <= 'z') {
! 1655: if (yych >= 'a') goto yy85;
! 1656: } else {
! 1657: if (yych <= '{') goto yy88;
! 1658: if (yych >= 0x7F) goto yy85;
! 1659: }
! 1660: }
! 1661: yy78:
! 1662: YYDEBUG(78, *YYCURSOR);
! 1663: yyleng = YYCURSOR - SCNG(yy_text);
! 1664: #line 1994 "Zend/zend_language_scanner.l"
! 1665: {
! 1666: if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
! 1667: YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
! 1668: SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
! 1669:
! 1670: goto double_quotes_scan_done;
! 1671: }
! 1672:
! 1673: if (YYCURSOR > YYLIMIT) {
! 1674: return 0;
! 1675: }
! 1676: if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
! 1677: YYCURSOR++;
! 1678: }
! 1679:
! 1680: while (YYCURSOR < YYLIMIT) {
! 1681: switch (*YYCURSOR++) {
! 1682: case '"':
! 1683: break;
! 1684: case '$':
! 1685: if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
! 1686: break;
! 1687: }
! 1688: continue;
! 1689: case '{':
! 1690: if (*YYCURSOR == '$') {
! 1691: break;
! 1692: }
! 1693: continue;
! 1694: case '\\':
! 1695: if (YYCURSOR < YYLIMIT) {
! 1696: YYCURSOR++;
! 1697: }
! 1698: /* fall through */
! 1699: default:
! 1700: continue;
! 1701: }
! 1702:
! 1703: YYCURSOR--;
! 1704: break;
! 1705: }
! 1706:
! 1707: double_quotes_scan_done:
! 1708: yyleng = YYCURSOR - SCNG(yy_text);
! 1709:
! 1710: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
! 1711: return T_ENCAPSED_AND_WHITESPACE;
! 1712: }
! 1713: #line 1714 "Zend/zend_language_scanner.c"
! 1714: yy79:
! 1715: YYDEBUG(79, *YYCURSOR);
! 1716: yych = *++YYCURSOR;
! 1717: if (yych == '$') goto yy83;
! 1718: goto yy78;
! 1719: yy80:
! 1720: YYDEBUG(80, *YYCURSOR);
! 1721: ++YYCURSOR;
! 1722: YYDEBUG(81, *YYCURSOR);
! 1723: yyleng = YYCURSOR - SCNG(yy_text);
! 1724: #line 1983 "Zend/zend_language_scanner.l"
! 1725: {
! 1726: BEGIN(ST_IN_SCRIPTING);
! 1727: return '"';
! 1728: }
! 1729: #line 1730 "Zend/zend_language_scanner.c"
! 1730: yy82:
! 1731: YYDEBUG(82, *YYCURSOR);
! 1732: yych = *++YYCURSOR;
! 1733: goto yy78;
! 1734: yy83:
! 1735: YYDEBUG(83, *YYCURSOR);
! 1736: ++YYCURSOR;
! 1737: YYDEBUG(84, *YYCURSOR);
! 1738: yyleng = YYCURSOR - SCNG(yy_text);
! 1739: #line 1975 "Zend/zend_language_scanner.l"
! 1740: {
! 1741: zendlval->value.lval = (long) '{';
! 1742: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 1743: yyless(1);
! 1744: return T_CURLY_OPEN;
! 1745: }
! 1746: #line 1747 "Zend/zend_language_scanner.c"
! 1747: yy85:
! 1748: YYDEBUG(85, *YYCURSOR);
! 1749: yyaccept = 0;
! 1750: YYMARKER = ++YYCURSOR;
! 1751: YYFILL(3);
! 1752: yych = *YYCURSOR;
! 1753: YYDEBUG(86, *YYCURSOR);
! 1754: if (yybm[0+yych] & 128) {
! 1755: goto yy85;
! 1756: }
! 1757: if (yych == '-') goto yy90;
! 1758: if (yych == '[') goto yy92;
! 1759: yy87:
! 1760: YYDEBUG(87, *YYCURSOR);
! 1761: yyleng = YYCURSOR - SCNG(yy_text);
! 1762: #line 1673 "Zend/zend_language_scanner.l"
! 1763: {
! 1764: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1765: zendlval->type = IS_STRING;
! 1766: return T_VARIABLE;
! 1767: }
! 1768: #line 1769 "Zend/zend_language_scanner.c"
! 1769: yy88:
! 1770: YYDEBUG(88, *YYCURSOR);
! 1771: ++YYCURSOR;
! 1772: YYDEBUG(89, *YYCURSOR);
! 1773: yyleng = YYCURSOR - SCNG(yy_text);
! 1774: #line 1300 "Zend/zend_language_scanner.l"
! 1775: {
! 1776: yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
! 1777: return T_DOLLAR_OPEN_CURLY_BRACES;
! 1778: }
! 1779: #line 1780 "Zend/zend_language_scanner.c"
! 1780: yy90:
! 1781: YYDEBUG(90, *YYCURSOR);
! 1782: yych = *++YYCURSOR;
! 1783: if (yych == '>') goto yy94;
! 1784: yy91:
! 1785: YYDEBUG(91, *YYCURSOR);
! 1786: YYCURSOR = YYMARKER;
! 1787: goto yy87;
! 1788: yy92:
! 1789: YYDEBUG(92, *YYCURSOR);
! 1790: ++YYCURSOR;
! 1791: YYDEBUG(93, *YYCURSOR);
! 1792: yyleng = YYCURSOR - SCNG(yy_text);
! 1793: #line 1665 "Zend/zend_language_scanner.l"
! 1794: {
! 1795: yyless(yyleng - 1);
! 1796: yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
! 1797: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1798: zendlval->type = IS_STRING;
! 1799: return T_VARIABLE;
! 1800: }
! 1801: #line 1802 "Zend/zend_language_scanner.c"
! 1802: yy94:
! 1803: YYDEBUG(94, *YYCURSOR);
! 1804: yych = *++YYCURSOR;
! 1805: if (yych <= '_') {
! 1806: if (yych <= '@') goto yy91;
! 1807: if (yych <= 'Z') goto yy95;
! 1808: if (yych <= '^') goto yy91;
! 1809: } else {
! 1810: if (yych <= '`') goto yy91;
! 1811: if (yych <= 'z') goto yy95;
! 1812: if (yych <= '~') goto yy91;
! 1813: }
! 1814: yy95:
! 1815: YYDEBUG(95, *YYCURSOR);
! 1816: ++YYCURSOR;
! 1817: YYDEBUG(96, *YYCURSOR);
! 1818: yyleng = YYCURSOR - SCNG(yy_text);
! 1819: #line 1655 "Zend/zend_language_scanner.l"
! 1820: {
! 1821: yyless(yyleng - 3);
! 1822: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
! 1823: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 1824: zendlval->type = IS_STRING;
! 1825: return T_VARIABLE;
! 1826: }
! 1827: #line 1828 "Zend/zend_language_scanner.c"
! 1828: }
! 1829: /* *********************************** */
! 1830: yyc_ST_END_HEREDOC:
! 1831: YYDEBUG(97, *YYCURSOR);
! 1832: YYFILL(1);
! 1833: yych = *YYCURSOR;
! 1834: YYDEBUG(99, *YYCURSOR);
! 1835: ++YYCURSOR;
! 1836: YYDEBUG(100, *YYCURSOR);
! 1837: yyleng = YYCURSOR - SCNG(yy_text);
! 1838: #line 1962 "Zend/zend_language_scanner.l"
! 1839: {
! 1840: YYCURSOR += CG(heredoc_len) - 1;
! 1841: yyleng = CG(heredoc_len);
! 1842:
! 1843: Z_STRVAL_P(zendlval) = CG(heredoc);
! 1844: Z_STRLEN_P(zendlval) = CG(heredoc_len);
! 1845: CG(heredoc) = NULL;
! 1846: CG(heredoc_len) = 0;
! 1847: BEGIN(ST_IN_SCRIPTING);
! 1848: return T_END_HEREDOC;
! 1849: }
! 1850: #line 1851 "Zend/zend_language_scanner.c"
! 1851: /* *********************************** */
! 1852: yyc_ST_HEREDOC:
! 1853: {
! 1854: static const unsigned char yybm[] = {
! 1855: 0, 0, 0, 0, 0, 0, 0, 0,
! 1856: 0, 0, 0, 0, 0, 0, 0, 0,
! 1857: 0, 0, 0, 0, 0, 0, 0, 0,
! 1858: 0, 0, 0, 0, 0, 0, 0, 0,
! 1859: 0, 0, 0, 0, 0, 0, 0, 0,
! 1860: 0, 0, 0, 0, 0, 0, 0, 0,
! 1861: 128, 128, 128, 128, 128, 128, 128, 128,
! 1862: 128, 128, 0, 0, 0, 0, 0, 0,
! 1863: 0, 128, 128, 128, 128, 128, 128, 128,
! 1864: 128, 128, 128, 128, 128, 128, 128, 128,
! 1865: 128, 128, 128, 128, 128, 128, 128, 128,
! 1866: 128, 128, 128, 0, 0, 0, 0, 128,
! 1867: 0, 128, 128, 128, 128, 128, 128, 128,
! 1868: 128, 128, 128, 128, 128, 128, 128, 128,
! 1869: 128, 128, 128, 128, 128, 128, 128, 128,
! 1870: 128, 128, 128, 0, 0, 0, 0, 128,
! 1871: 128, 128, 128, 128, 128, 128, 128, 128,
! 1872: 128, 128, 128, 128, 128, 128, 128, 128,
! 1873: 128, 128, 128, 128, 128, 128, 128, 128,
! 1874: 128, 128, 128, 128, 128, 128, 128, 128,
! 1875: 128, 128, 128, 128, 128, 128, 128, 128,
! 1876: 128, 128, 128, 128, 128, 128, 128, 128,
! 1877: 128, 128, 128, 128, 128, 128, 128, 128,
! 1878: 128, 128, 128, 128, 128, 128, 128, 128,
! 1879: 128, 128, 128, 128, 128, 128, 128, 128,
! 1880: 128, 128, 128, 128, 128, 128, 128, 128,
! 1881: 128, 128, 128, 128, 128, 128, 128, 128,
! 1882: 128, 128, 128, 128, 128, 128, 128, 128,
! 1883: 128, 128, 128, 128, 128, 128, 128, 128,
! 1884: 128, 128, 128, 128, 128, 128, 128, 128,
! 1885: 128, 128, 128, 128, 128, 128, 128, 128,
! 1886: 128, 128, 128, 128, 128, 128, 128, 128,
! 1887: };
! 1888: YYDEBUG(101, *YYCURSOR);
! 1889: YYFILL(2);
! 1890: yych = *YYCURSOR;
! 1891: if (yych == '$') goto yy103;
! 1892: if (yych == '{') goto yy105;
! 1893: goto yy106;
! 1894: yy103:
! 1895: YYDEBUG(103, *YYCURSOR);
! 1896: ++YYCURSOR;
! 1897: if ((yych = *YYCURSOR) <= '_') {
! 1898: if (yych <= '@') goto yy104;
! 1899: if (yych <= 'Z') goto yy109;
! 1900: if (yych >= '_') goto yy109;
! 1901: } else {
! 1902: if (yych <= 'z') {
! 1903: if (yych >= 'a') goto yy109;
! 1904: } else {
! 1905: if (yych <= '{') goto yy112;
! 1906: if (yych >= 0x7F) goto yy109;
! 1907: }
! 1908: }
! 1909: yy104:
! 1910: YYDEBUG(104, *YYCURSOR);
! 1911: yyleng = YYCURSOR - SCNG(yy_text);
! 1912: #line 2086 "Zend/zend_language_scanner.l"
! 1913: {
! 1914: int newline = 0;
! 1915:
! 1916: if (YYCURSOR > YYLIMIT) {
! 1917: return 0;
! 1918: }
! 1919:
! 1920: YYCURSOR--;
! 1921:
! 1922: while (YYCURSOR < YYLIMIT) {
! 1923: switch (*YYCURSOR++) {
! 1924: case '\r':
! 1925: if (*YYCURSOR == '\n') {
! 1926: YYCURSOR++;
! 1927: }
! 1928: /* fall through */
! 1929: case '\n':
! 1930: /* Check for ending label on the next line */
! 1931: if (IS_LABEL_START(*YYCURSOR) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {
! 1932: YYCTYPE *end = YYCURSOR + CG(heredoc_len);
! 1933:
! 1934: if (*end == ';') {
! 1935: end++;
! 1936: }
! 1937:
! 1938: if (*end == '\n' || *end == '\r') {
! 1939: /* newline before label will be subtracted from returned text, but
! 1940: * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
! 1941: if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
! 1942: newline = 2; /* Windows newline */
! 1943: } else {
! 1944: newline = 1;
! 1945: }
! 1946:
! 1947: CG(increment_lineno) = 1; /* For newline before label */
! 1948: BEGIN(ST_END_HEREDOC);
! 1949:
! 1950: goto heredoc_scan_done;
! 1951: }
! 1952: }
! 1953: continue;
! 1954: case '$':
! 1955: if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
! 1956: break;
! 1957: }
! 1958: continue;
! 1959: case '{':
! 1960: if (*YYCURSOR == '$') {
! 1961: break;
! 1962: }
! 1963: continue;
! 1964: case '\\':
! 1965: if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
! 1966: YYCURSOR++;
! 1967: }
! 1968: /* fall through */
! 1969: default:
! 1970: continue;
! 1971: }
! 1972:
! 1973: YYCURSOR--;
! 1974: break;
! 1975: }
! 1976:
! 1977: heredoc_scan_done:
! 1978: yyleng = YYCURSOR - SCNG(yy_text);
! 1979:
! 1980: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
! 1981: return T_ENCAPSED_AND_WHITESPACE;
! 1982: }
! 1983: #line 1984 "Zend/zend_language_scanner.c"
! 1984: yy105:
! 1985: YYDEBUG(105, *YYCURSOR);
! 1986: yych = *++YYCURSOR;
! 1987: if (yych == '$') goto yy107;
! 1988: goto yy104;
! 1989: yy106:
! 1990: YYDEBUG(106, *YYCURSOR);
! 1991: yych = *++YYCURSOR;
! 1992: goto yy104;
! 1993: yy107:
! 1994: YYDEBUG(107, *YYCURSOR);
! 1995: ++YYCURSOR;
! 1996: YYDEBUG(108, *YYCURSOR);
! 1997: yyleng = YYCURSOR - SCNG(yy_text);
! 1998: #line 1975 "Zend/zend_language_scanner.l"
! 1999: {
! 2000: zendlval->value.lval = (long) '{';
! 2001: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 2002: yyless(1);
! 2003: return T_CURLY_OPEN;
! 2004: }
! 2005: #line 2006 "Zend/zend_language_scanner.c"
! 2006: yy109:
! 2007: YYDEBUG(109, *YYCURSOR);
! 2008: yyaccept = 0;
! 2009: YYMARKER = ++YYCURSOR;
! 2010: YYFILL(3);
! 2011: yych = *YYCURSOR;
! 2012: YYDEBUG(110, *YYCURSOR);
! 2013: if (yybm[0+yych] & 128) {
! 2014: goto yy109;
! 2015: }
! 2016: if (yych == '-') goto yy114;
! 2017: if (yych == '[') goto yy116;
! 2018: yy111:
! 2019: YYDEBUG(111, *YYCURSOR);
! 2020: yyleng = YYCURSOR - SCNG(yy_text);
! 2021: #line 1673 "Zend/zend_language_scanner.l"
! 2022: {
! 2023: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 2024: zendlval->type = IS_STRING;
! 2025: return T_VARIABLE;
! 2026: }
! 2027: #line 2028 "Zend/zend_language_scanner.c"
! 2028: yy112:
! 2029: YYDEBUG(112, *YYCURSOR);
! 2030: ++YYCURSOR;
! 2031: YYDEBUG(113, *YYCURSOR);
! 2032: yyleng = YYCURSOR - SCNG(yy_text);
! 2033: #line 1300 "Zend/zend_language_scanner.l"
! 2034: {
! 2035: yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
! 2036: return T_DOLLAR_OPEN_CURLY_BRACES;
! 2037: }
! 2038: #line 2039 "Zend/zend_language_scanner.c"
! 2039: yy114:
! 2040: YYDEBUG(114, *YYCURSOR);
! 2041: yych = *++YYCURSOR;
! 2042: if (yych == '>') goto yy118;
! 2043: yy115:
! 2044: YYDEBUG(115, *YYCURSOR);
! 2045: YYCURSOR = YYMARKER;
! 2046: goto yy111;
! 2047: yy116:
! 2048: YYDEBUG(116, *YYCURSOR);
! 2049: ++YYCURSOR;
! 2050: YYDEBUG(117, *YYCURSOR);
! 2051: yyleng = YYCURSOR - SCNG(yy_text);
! 2052: #line 1665 "Zend/zend_language_scanner.l"
! 2053: {
! 2054: yyless(yyleng - 1);
! 2055: yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
! 2056: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 2057: zendlval->type = IS_STRING;
! 2058: return T_VARIABLE;
! 2059: }
! 2060: #line 2061 "Zend/zend_language_scanner.c"
! 2061: yy118:
! 2062: YYDEBUG(118, *YYCURSOR);
! 2063: yych = *++YYCURSOR;
! 2064: if (yych <= '_') {
! 2065: if (yych <= '@') goto yy115;
! 2066: if (yych <= 'Z') goto yy119;
! 2067: if (yych <= '^') goto yy115;
! 2068: } else {
! 2069: if (yych <= '`') goto yy115;
! 2070: if (yych <= 'z') goto yy119;
! 2071: if (yych <= '~') goto yy115;
! 2072: }
! 2073: yy119:
! 2074: YYDEBUG(119, *YYCURSOR);
! 2075: ++YYCURSOR;
! 2076: YYDEBUG(120, *YYCURSOR);
! 2077: yyleng = YYCURSOR - SCNG(yy_text);
! 2078: #line 1655 "Zend/zend_language_scanner.l"
! 2079: {
! 2080: yyless(yyleng - 3);
! 2081: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
! 2082: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 2083: zendlval->type = IS_STRING;
! 2084: return T_VARIABLE;
! 2085: }
! 2086: #line 2087 "Zend/zend_language_scanner.c"
! 2087: }
! 2088: /* *********************************** */
! 2089: yyc_ST_IN_SCRIPTING:
! 2090: {
! 2091: static const unsigned char yybm[] = {
! 2092: 0, 0, 0, 0, 0, 0, 0, 0,
! 2093: 0, 192, 64, 0, 0, 64, 0, 0,
! 2094: 0, 0, 0, 0, 0, 0, 0, 0,
! 2095: 0, 0, 0, 0, 0, 0, 0, 0,
! 2096: 192, 0, 0, 0, 0, 0, 0, 0,
! 2097: 0, 0, 0, 0, 0, 0, 0, 0,
! 2098: 56, 56, 56, 56, 56, 56, 56, 56,
! 2099: 56, 56, 0, 0, 0, 0, 0, 0,
! 2100: 0, 40, 40, 40, 40, 40, 40, 8,
! 2101: 8, 8, 8, 8, 8, 8, 8, 8,
! 2102: 8, 8, 8, 8, 8, 8, 8, 8,
! 2103: 8, 8, 8, 0, 0, 0, 0, 8,
! 2104: 0, 40, 40, 40, 40, 40, 40, 8,
! 2105: 8, 8, 8, 8, 8, 8, 8, 8,
! 2106: 8, 8, 8, 8, 8, 8, 8, 8,
! 2107: 8, 8, 8, 0, 0, 0, 0, 8,
! 2108: 8, 8, 8, 8, 8, 8, 8, 8,
! 2109: 8, 8, 8, 8, 8, 8, 8, 8,
! 2110: 8, 8, 8, 8, 8, 8, 8, 8,
! 2111: 8, 8, 8, 8, 8, 8, 8, 8,
! 2112: 8, 8, 8, 8, 8, 8, 8, 8,
! 2113: 8, 8, 8, 8, 8, 8, 8, 8,
! 2114: 8, 8, 8, 8, 8, 8, 8, 8,
! 2115: 8, 8, 8, 8, 8, 8, 8, 8,
! 2116: 8, 8, 8, 8, 8, 8, 8, 8,
! 2117: 8, 8, 8, 8, 8, 8, 8, 8,
! 2118: 8, 8, 8, 8, 8, 8, 8, 8,
! 2119: 8, 8, 8, 8, 8, 8, 8, 8,
! 2120: 8, 8, 8, 8, 8, 8, 8, 8,
! 2121: 8, 8, 8, 8, 8, 8, 8, 8,
! 2122: 8, 8, 8, 8, 8, 8, 8, 8,
! 2123: 8, 8, 8, 8, 8, 8, 8, 8,
! 2124: };
! 2125: YYDEBUG(121, *YYCURSOR);
! 2126: YYFILL(16);
! 2127: yych = *YYCURSOR;
! 2128: YYDEBUG(-1, yych);
! 2129: switch (yych) {
! 2130: case 0x00:
! 2131: case 0x01:
! 2132: case 0x02:
! 2133: case 0x03:
! 2134: case 0x04:
! 2135: case 0x05:
! 2136: case 0x06:
! 2137: case 0x07:
! 2138: case 0x08:
! 2139: case '\v':
! 2140: case '\f':
! 2141: case 0x0E:
! 2142: case 0x0F:
! 2143: case 0x10:
! 2144: case 0x11:
! 2145: case 0x12:
! 2146: case 0x13:
! 2147: case 0x14:
! 2148: case 0x15:
! 2149: case 0x16:
! 2150: case 0x17:
! 2151: case 0x18:
! 2152: case 0x19:
! 2153: case 0x1A:
! 2154: case 0x1B:
! 2155: case 0x1C:
! 2156: case 0x1D:
! 2157: case 0x1E:
! 2158: case 0x1F: goto yy183;
! 2159: case '\t':
! 2160: case '\n':
! 2161: case '\r':
! 2162: case ' ': goto yy139;
! 2163: case '!': goto yy152;
! 2164: case '"': goto yy179;
! 2165: case '#': goto yy175;
! 2166: case '$': goto yy164;
! 2167: case '%': goto yy158;
! 2168: case '&': goto yy159;
! 2169: case '\'': goto yy177;
! 2170: case '(': goto yy146;
! 2171: case ')':
! 2172: case ',':
! 2173: case ';':
! 2174: case '@':
! 2175: case '[':
! 2176: case ']':
! 2177: case '~': goto yy165;
! 2178: case '*': goto yy155;
! 2179: case '+': goto yy151;
! 2180: case '-': goto yy137;
! 2181: case '.': goto yy157;
! 2182: case '/': goto yy156;
! 2183: case '0': goto yy171;
! 2184: case '1':
! 2185: case '2':
! 2186: case '3':
! 2187: case '4':
! 2188: case '5':
! 2189: case '6':
! 2190: case '7':
! 2191: case '8':
! 2192: case '9': goto yy173;
! 2193: case ':': goto yy141;
! 2194: case '<': goto yy153;
! 2195: case '=': goto yy149;
! 2196: case '>': goto yy154;
! 2197: case '?': goto yy166;
! 2198: case 'A':
! 2199: case 'a': goto yy132;
! 2200: case 'B':
! 2201: case 'b': goto yy134;
! 2202: case 'C':
! 2203: case 'c': goto yy127;
! 2204: case 'D':
! 2205: case 'd': goto yy125;
! 2206: case 'E':
! 2207: case 'e': goto yy123;
! 2208: case 'F':
! 2209: case 'f': goto yy126;
! 2210: case 'G':
! 2211: case 'g': goto yy135;
! 2212: case 'I':
! 2213: case 'i': goto yy130;
! 2214: case 'L':
! 2215: case 'l': goto yy150;
! 2216: case 'N':
! 2217: case 'n': goto yy144;
! 2218: case 'O':
! 2219: case 'o': goto yy162;
! 2220: case 'P':
! 2221: case 'p': goto yy136;
! 2222: case 'R':
! 2223: case 'r': goto yy128;
! 2224: case 'S':
! 2225: case 's': goto yy133;
! 2226: case 'T':
! 2227: case 't': goto yy129;
! 2228: case 'U':
! 2229: case 'u': goto yy147;
! 2230: case 'V':
! 2231: case 'v': goto yy145;
! 2232: case 'W':
! 2233: case 'w': goto yy131;
! 2234: case 'X':
! 2235: case 'x': goto yy163;
! 2236: case '\\': goto yy142;
! 2237: case '^': goto yy161;
! 2238: case '_': goto yy148;
! 2239: case '`': goto yy181;
! 2240: case '{': goto yy167;
! 2241: case '|': goto yy160;
! 2242: case '}': goto yy169;
! 2243: default: goto yy174;
! 2244: }
! 2245: yy123:
! 2246: YYDEBUG(123, *YYCURSOR);
! 2247: ++YYCURSOR;
! 2248: YYDEBUG(-1, yych);
! 2249: switch ((yych = *YYCURSOR)) {
! 2250: case 'C':
! 2251: case 'c': goto yy701;
! 2252: case 'L':
! 2253: case 'l': goto yy702;
! 2254: case 'M':
! 2255: case 'm': goto yy703;
! 2256: case 'N':
! 2257: case 'n': goto yy704;
! 2258: case 'V':
! 2259: case 'v': goto yy705;
! 2260: case 'X':
! 2261: case 'x': goto yy706;
! 2262: default: goto yy186;
! 2263: }
! 2264: yy124:
! 2265: YYDEBUG(124, *YYCURSOR);
! 2266: yyleng = YYCURSOR - SCNG(yy_text);
! 2267: #line 1696 "Zend/zend_language_scanner.l"
! 2268: {
! 2269: zend_copy_value(zendlval, yytext, yyleng);
! 2270: zendlval->type = IS_STRING;
! 2271: return T_STRING;
! 2272: }
! 2273: #line 2274 "Zend/zend_language_scanner.c"
! 2274: yy125:
! 2275: YYDEBUG(125, *YYCURSOR);
! 2276: yych = *++YYCURSOR;
! 2277: if (yych <= 'O') {
! 2278: if (yych <= 'H') {
! 2279: if (yych == 'E') goto yy683;
! 2280: goto yy186;
! 2281: } else {
! 2282: if (yych <= 'I') goto yy684;
! 2283: if (yych <= 'N') goto yy186;
! 2284: goto yy685;
! 2285: }
! 2286: } else {
! 2287: if (yych <= 'h') {
! 2288: if (yych == 'e') goto yy683;
! 2289: goto yy186;
! 2290: } else {
! 2291: if (yych <= 'i') goto yy684;
! 2292: if (yych == 'o') goto yy685;
! 2293: goto yy186;
! 2294: }
! 2295: }
! 2296: yy126:
! 2297: YYDEBUG(126, *YYCURSOR);
! 2298: yych = *++YYCURSOR;
! 2299: if (yych <= 'U') {
! 2300: if (yych <= 'N') {
! 2301: if (yych == 'I') goto yy662;
! 2302: goto yy186;
! 2303: } else {
! 2304: if (yych <= 'O') goto yy663;
! 2305: if (yych <= 'T') goto yy186;
! 2306: goto yy664;
! 2307: }
! 2308: } else {
! 2309: if (yych <= 'n') {
! 2310: if (yych == 'i') goto yy662;
! 2311: goto yy186;
! 2312: } else {
! 2313: if (yych <= 'o') goto yy663;
! 2314: if (yych == 'u') goto yy664;
! 2315: goto yy186;
! 2316: }
! 2317: }
! 2318: yy127:
! 2319: YYDEBUG(127, *YYCURSOR);
! 2320: yych = *++YYCURSOR;
! 2321: if (yych <= 'O') {
! 2322: if (yych <= 'K') {
! 2323: if (yych == 'A') goto yy634;
! 2324: goto yy186;
! 2325: } else {
! 2326: if (yych <= 'L') goto yy635;
! 2327: if (yych <= 'N') goto yy186;
! 2328: goto yy636;
! 2329: }
! 2330: } else {
! 2331: if (yych <= 'k') {
! 2332: if (yych == 'a') goto yy634;
! 2333: goto yy186;
! 2334: } else {
! 2335: if (yych <= 'l') goto yy635;
! 2336: if (yych == 'o') goto yy636;
! 2337: goto yy186;
! 2338: }
! 2339: }
! 2340: yy128:
! 2341: YYDEBUG(128, *YYCURSOR);
! 2342: yych = *++YYCURSOR;
! 2343: if (yych == 'E') goto yy616;
! 2344: if (yych == 'e') goto yy616;
! 2345: goto yy186;
! 2346: yy129:
! 2347: YYDEBUG(129, *YYCURSOR);
! 2348: yych = *++YYCURSOR;
! 2349: if (yych <= 'R') {
! 2350: if (yych == 'H') goto yy608;
! 2351: if (yych <= 'Q') goto yy186;
! 2352: goto yy609;
! 2353: } else {
! 2354: if (yych <= 'h') {
! 2355: if (yych <= 'g') goto yy186;
! 2356: goto yy608;
! 2357: } else {
! 2358: if (yych == 'r') goto yy609;
! 2359: goto yy186;
! 2360: }
! 2361: }
! 2362: yy130:
! 2363: YYDEBUG(130, *YYCURSOR);
! 2364: yych = *++YYCURSOR;
! 2365: if (yych <= 'S') {
! 2366: if (yych <= 'L') {
! 2367: if (yych == 'F') goto yy561;
! 2368: goto yy186;
! 2369: } else {
! 2370: if (yych <= 'M') goto yy563;
! 2371: if (yych <= 'N') goto yy564;
! 2372: if (yych <= 'R') goto yy186;
! 2373: goto yy565;
! 2374: }
! 2375: } else {
! 2376: if (yych <= 'm') {
! 2377: if (yych == 'f') goto yy561;
! 2378: if (yych <= 'l') goto yy186;
! 2379: goto yy563;
! 2380: } else {
! 2381: if (yych <= 'n') goto yy564;
! 2382: if (yych == 's') goto yy565;
! 2383: goto yy186;
! 2384: }
! 2385: }
! 2386: yy131:
! 2387: YYDEBUG(131, *YYCURSOR);
! 2388: yych = *++YYCURSOR;
! 2389: if (yych == 'H') goto yy556;
! 2390: if (yych == 'h') goto yy556;
! 2391: goto yy186;
! 2392: yy132:
! 2393: YYDEBUG(132, *YYCURSOR);
! 2394: yych = *++YYCURSOR;
! 2395: if (yych <= 'S') {
! 2396: if (yych <= 'M') {
! 2397: if (yych == 'B') goto yy538;
! 2398: goto yy186;
! 2399: } else {
! 2400: if (yych <= 'N') goto yy539;
! 2401: if (yych <= 'Q') goto yy186;
! 2402: if (yych <= 'R') goto yy540;
! 2403: goto yy541;
! 2404: }
! 2405: } else {
! 2406: if (yych <= 'n') {
! 2407: if (yych == 'b') goto yy538;
! 2408: if (yych <= 'm') goto yy186;
! 2409: goto yy539;
! 2410: } else {
! 2411: if (yych <= 'q') goto yy186;
! 2412: if (yych <= 'r') goto yy540;
! 2413: if (yych <= 's') goto yy541;
! 2414: goto yy186;
! 2415: }
! 2416: }
! 2417: yy133:
! 2418: YYDEBUG(133, *YYCURSOR);
! 2419: yych = *++YYCURSOR;
! 2420: if (yych <= 'W') {
! 2421: if (yych == 'T') goto yy526;
! 2422: if (yych <= 'V') goto yy186;
! 2423: goto yy527;
! 2424: } else {
! 2425: if (yych <= 't') {
! 2426: if (yych <= 's') goto yy186;
! 2427: goto yy526;
! 2428: } else {
! 2429: if (yych == 'w') goto yy527;
! 2430: goto yy186;
! 2431: }
! 2432: }
! 2433: yy134:
! 2434: YYDEBUG(134, *YYCURSOR);
! 2435: yyaccept = 0;
! 2436: yych = *(YYMARKER = ++YYCURSOR);
! 2437: if (yych <= ';') {
! 2438: if (yych <= '"') {
! 2439: if (yych <= '!') goto yy186;
! 2440: goto yy518;
! 2441: } else {
! 2442: if (yych == '\'') goto yy519;
! 2443: goto yy186;
! 2444: }
! 2445: } else {
! 2446: if (yych <= 'R') {
! 2447: if (yych <= '<') goto yy517;
! 2448: if (yych <= 'Q') goto yy186;
! 2449: goto yy520;
! 2450: } else {
! 2451: if (yych == 'r') goto yy520;
! 2452: goto yy186;
! 2453: }
! 2454: }
! 2455: yy135:
! 2456: YYDEBUG(135, *YYCURSOR);
! 2457: yych = *++YYCURSOR;
! 2458: if (yych <= 'O') {
! 2459: if (yych == 'L') goto yy507;
! 2460: if (yych <= 'N') goto yy186;
! 2461: goto yy508;
! 2462: } else {
! 2463: if (yych <= 'l') {
! 2464: if (yych <= 'k') goto yy186;
! 2465: goto yy507;
! 2466: } else {
! 2467: if (yych == 'o') goto yy508;
! 2468: goto yy186;
! 2469: }
! 2470: }
! 2471: yy136:
! 2472: YYDEBUG(136, *YYCURSOR);
! 2473: yych = *++YYCURSOR;
! 2474: if (yych <= 'U') {
! 2475: if (yych == 'R') goto yy483;
! 2476: if (yych <= 'T') goto yy186;
! 2477: goto yy484;
! 2478: } else {
! 2479: if (yych <= 'r') {
! 2480: if (yych <= 'q') goto yy186;
! 2481: goto yy483;
! 2482: } else {
! 2483: if (yych == 'u') goto yy484;
! 2484: goto yy186;
! 2485: }
! 2486: }
! 2487: yy137:
! 2488: YYDEBUG(137, *YYCURSOR);
! 2489: ++YYCURSOR;
! 2490: if ((yych = *YYCURSOR) <= '<') {
! 2491: if (yych == '-') goto yy479;
! 2492: } else {
! 2493: if (yych <= '=') goto yy477;
! 2494: if (yych <= '>') goto yy481;
! 2495: }
! 2496: yy138:
! 2497: YYDEBUG(138, *YYCURSOR);
! 2498: yyleng = YYCURSOR - SCNG(yy_text);
! 2499: #line 1289 "Zend/zend_language_scanner.l"
! 2500: {
! 2501: return yytext[0];
! 2502: }
! 2503: #line 2504 "Zend/zend_language_scanner.c"
! 2504: yy139:
! 2505: YYDEBUG(139, *YYCURSOR);
! 2506: ++YYCURSOR;
! 2507: yych = *YYCURSOR;
! 2508: goto yy476;
! 2509: yy140:
! 2510: YYDEBUG(140, *YYCURSOR);
! 2511: yyleng = YYCURSOR - SCNG(yy_text);
! 2512: #line 1024 "Zend/zend_language_scanner.l"
! 2513: {
! 2514: zendlval->value.str.val = yytext; /* no copying - intentional */
! 2515: zendlval->value.str.len = yyleng;
! 2516: zendlval->type = IS_STRING;
! 2517: HANDLE_NEWLINES(yytext, yyleng);
! 2518: return T_WHITESPACE;
! 2519: }
! 2520: #line 2521 "Zend/zend_language_scanner.c"
! 2521: yy141:
! 2522: YYDEBUG(141, *YYCURSOR);
! 2523: yych = *++YYCURSOR;
! 2524: if (yych == ':') goto yy473;
! 2525: goto yy138;
! 2526: yy142:
! 2527: YYDEBUG(142, *YYCURSOR);
! 2528: ++YYCURSOR;
! 2529: YYDEBUG(143, *YYCURSOR);
! 2530: yyleng = YYCURSOR - SCNG(yy_text);
! 2531: #line 1053 "Zend/zend_language_scanner.l"
! 2532: {
! 2533: return T_NS_SEPARATOR;
! 2534: }
! 2535: #line 2536 "Zend/zend_language_scanner.c"
! 2536: yy144:
! 2537: YYDEBUG(144, *YYCURSOR);
! 2538: yych = *++YYCURSOR;
! 2539: if (yych <= 'E') {
! 2540: if (yych == 'A') goto yy461;
! 2541: if (yych <= 'D') goto yy186;
! 2542: goto yy462;
! 2543: } else {
! 2544: if (yych <= 'a') {
! 2545: if (yych <= '`') goto yy186;
! 2546: goto yy461;
! 2547: } else {
! 2548: if (yych == 'e') goto yy462;
! 2549: goto yy186;
! 2550: }
! 2551: }
! 2552: yy145:
! 2553: YYDEBUG(145, *YYCURSOR);
! 2554: yych = *++YYCURSOR;
! 2555: if (yych == 'A') goto yy458;
! 2556: if (yych == 'a') goto yy458;
! 2557: goto yy186;
! 2558: yy146:
! 2559: YYDEBUG(146, *YYCURSOR);
! 2560: yyaccept = 1;
! 2561: yych = *(YYMARKER = ++YYCURSOR);
! 2562: if (yych <= 'S') {
! 2563: if (yych <= 'D') {
! 2564: if (yych <= ' ') {
! 2565: if (yych == '\t') goto yy379;
! 2566: if (yych <= 0x1F) goto yy138;
! 2567: goto yy379;
! 2568: } else {
! 2569: if (yych <= '@') goto yy138;
! 2570: if (yych == 'C') goto yy138;
! 2571: goto yy379;
! 2572: }
! 2573: } else {
! 2574: if (yych <= 'I') {
! 2575: if (yych == 'F') goto yy379;
! 2576: if (yych <= 'H') goto yy138;
! 2577: goto yy379;
! 2578: } else {
! 2579: if (yych == 'O') goto yy379;
! 2580: if (yych <= 'Q') goto yy138;
! 2581: goto yy379;
! 2582: }
! 2583: }
! 2584: } else {
! 2585: if (yych <= 'f') {
! 2586: if (yych <= 'b') {
! 2587: if (yych == 'U') goto yy379;
! 2588: if (yych <= '`') goto yy138;
! 2589: goto yy379;
! 2590: } else {
! 2591: if (yych == 'd') goto yy379;
! 2592: if (yych <= 'e') goto yy138;
! 2593: goto yy379;
! 2594: }
! 2595: } else {
! 2596: if (yych <= 'o') {
! 2597: if (yych == 'i') goto yy379;
! 2598: if (yych <= 'n') goto yy138;
! 2599: goto yy379;
! 2600: } else {
! 2601: if (yych <= 's') {
! 2602: if (yych <= 'q') goto yy138;
! 2603: goto yy379;
! 2604: } else {
! 2605: if (yych == 'u') goto yy379;
! 2606: goto yy138;
! 2607: }
! 2608: }
! 2609: }
! 2610: }
! 2611: yy147:
! 2612: YYDEBUG(147, *YYCURSOR);
! 2613: yych = *++YYCURSOR;
! 2614: if (yych <= 'S') {
! 2615: if (yych == 'N') goto yy370;
! 2616: if (yych <= 'R') goto yy186;
! 2617: goto yy371;
! 2618: } else {
! 2619: if (yych <= 'n') {
! 2620: if (yych <= 'm') goto yy186;
! 2621: goto yy370;
! 2622: } else {
! 2623: if (yych == 's') goto yy371;
! 2624: goto yy186;
! 2625: }
! 2626: }
! 2627: yy148:
! 2628: YYDEBUG(148, *YYCURSOR);
! 2629: yych = *++YYCURSOR;
! 2630: if (yych == '_') goto yy296;
! 2631: goto yy186;
! 2632: yy149:
! 2633: YYDEBUG(149, *YYCURSOR);
! 2634: yych = *++YYCURSOR;
! 2635: if (yych <= '<') goto yy138;
! 2636: if (yych <= '=') goto yy290;
! 2637: if (yych <= '>') goto yy292;
! 2638: goto yy138;
! 2639: yy150:
! 2640: YYDEBUG(150, *YYCURSOR);
! 2641: yych = *++YYCURSOR;
! 2642: if (yych == 'I') goto yy286;
! 2643: if (yych == 'i') goto yy286;
! 2644: goto yy186;
! 2645: yy151:
! 2646: YYDEBUG(151, *YYCURSOR);
! 2647: yych = *++YYCURSOR;
! 2648: if (yych == '+') goto yy284;
! 2649: if (yych == '=') goto yy282;
! 2650: goto yy138;
! 2651: yy152:
! 2652: YYDEBUG(152, *YYCURSOR);
! 2653: yych = *++YYCURSOR;
! 2654: if (yych == '=') goto yy279;
! 2655: goto yy138;
! 2656: yy153:
! 2657: YYDEBUG(153, *YYCURSOR);
! 2658: yyaccept = 1;
! 2659: yych = *(YYMARKER = ++YYCURSOR);
! 2660: if (yych <= ';') {
! 2661: if (yych == '/') goto yy251;
! 2662: goto yy138;
! 2663: } else {
! 2664: if (yych <= '<') goto yy249;
! 2665: if (yych <= '=') goto yy252;
! 2666: if (yych <= '>') goto yy254;
! 2667: goto yy138;
! 2668: }
! 2669: yy154:
! 2670: YYDEBUG(154, *YYCURSOR);
! 2671: yych = *++YYCURSOR;
! 2672: if (yych <= '<') goto yy138;
! 2673: if (yych <= '=') goto yy245;
! 2674: if (yych <= '>') goto yy243;
! 2675: goto yy138;
! 2676: yy155:
! 2677: YYDEBUG(155, *YYCURSOR);
! 2678: yych = *++YYCURSOR;
! 2679: if (yych == '=') goto yy241;
! 2680: goto yy138;
! 2681: yy156:
! 2682: YYDEBUG(156, *YYCURSOR);
! 2683: yych = *++YYCURSOR;
! 2684: if (yych <= '.') {
! 2685: if (yych == '*') goto yy233;
! 2686: goto yy138;
! 2687: } else {
! 2688: if (yych <= '/') goto yy235;
! 2689: if (yych == '=') goto yy236;
! 2690: goto yy138;
! 2691: }
! 2692: yy157:
! 2693: YYDEBUG(157, *YYCURSOR);
! 2694: yych = *++YYCURSOR;
! 2695: if (yych <= '/') goto yy138;
! 2696: if (yych <= '9') goto yy229;
! 2697: if (yych == '=') goto yy231;
! 2698: goto yy138;
! 2699: yy158:
! 2700: YYDEBUG(158, *YYCURSOR);
! 2701: yych = *++YYCURSOR;
! 2702: if (yych <= '<') goto yy138;
! 2703: if (yych <= '=') goto yy225;
! 2704: if (yych <= '>') goto yy223;
! 2705: goto yy138;
! 2706: yy159:
! 2707: YYDEBUG(159, *YYCURSOR);
! 2708: yych = *++YYCURSOR;
! 2709: if (yych == '&') goto yy219;
! 2710: if (yych == '=') goto yy221;
! 2711: goto yy138;
! 2712: yy160:
! 2713: YYDEBUG(160, *YYCURSOR);
! 2714: yych = *++YYCURSOR;
! 2715: if (yych == '=') goto yy217;
! 2716: if (yych == '|') goto yy215;
! 2717: goto yy138;
! 2718: yy161:
! 2719: YYDEBUG(161, *YYCURSOR);
! 2720: yych = *++YYCURSOR;
! 2721: if (yych == '=') goto yy213;
! 2722: goto yy138;
! 2723: yy162:
! 2724: YYDEBUG(162, *YYCURSOR);
! 2725: yych = *++YYCURSOR;
! 2726: if (yych == 'R') goto yy211;
! 2727: if (yych == 'r') goto yy211;
! 2728: goto yy186;
! 2729: yy163:
! 2730: YYDEBUG(163, *YYCURSOR);
! 2731: yych = *++YYCURSOR;
! 2732: if (yych == 'O') goto yy208;
! 2733: if (yych == 'o') goto yy208;
! 2734: goto yy186;
! 2735: yy164:
! 2736: YYDEBUG(164, *YYCURSOR);
! 2737: yych = *++YYCURSOR;
! 2738: if (yych <= '_') {
! 2739: if (yych <= '@') goto yy138;
! 2740: if (yych <= 'Z') goto yy205;
! 2741: if (yych <= '^') goto yy138;
! 2742: goto yy205;
! 2743: } else {
! 2744: if (yych <= '`') goto yy138;
! 2745: if (yych <= 'z') goto yy205;
! 2746: if (yych <= '~') goto yy138;
! 2747: goto yy205;
! 2748: }
! 2749: yy165:
! 2750: YYDEBUG(165, *YYCURSOR);
! 2751: yych = *++YYCURSOR;
! 2752: goto yy138;
! 2753: yy166:
! 2754: YYDEBUG(166, *YYCURSOR);
! 2755: yych = *++YYCURSOR;
! 2756: if (yych == '>') goto yy201;
! 2757: goto yy138;
! 2758: yy167:
! 2759: YYDEBUG(167, *YYCURSOR);
! 2760: ++YYCURSOR;
! 2761: YYDEBUG(168, *YYCURSOR);
! 2762: yyleng = YYCURSOR - SCNG(yy_text);
! 2763: #line 1294 "Zend/zend_language_scanner.l"
! 2764: {
! 2765: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 2766: return '{';
! 2767: }
! 2768: #line 2769 "Zend/zend_language_scanner.c"
! 2769: yy169:
! 2770: YYDEBUG(169, *YYCURSOR);
! 2771: ++YYCURSOR;
! 2772: YYDEBUG(170, *YYCURSOR);
! 2773: yyleng = YYCURSOR - SCNG(yy_text);
! 2774: #line 1306 "Zend/zend_language_scanner.l"
! 2775: {
! 2776: RESET_DOC_COMMENT();
! 2777: if (!zend_stack_is_empty(&SCNG(state_stack))) {
! 2778: yy_pop_state(TSRMLS_C);
! 2779: }
! 2780: return '}';
! 2781: }
! 2782: #line 2783 "Zend/zend_language_scanner.c"
! 2783: yy171:
! 2784: YYDEBUG(171, *YYCURSOR);
! 2785: yyaccept = 2;
! 2786: yych = *(YYMARKER = ++YYCURSOR);
! 2787: if (yych <= 'E') {
! 2788: if (yych <= '/') {
! 2789: if (yych == '.') goto yy187;
! 2790: } else {
! 2791: if (yych <= '9') goto yy190;
! 2792: if (yych >= 'E') goto yy192;
! 2793: }
! 2794: } else {
! 2795: if (yych <= 'd') {
! 2796: if (yych == 'X') goto yy197;
! 2797: } else {
! 2798: if (yych <= 'e') goto yy192;
! 2799: if (yych == 'x') goto yy197;
! 2800: }
! 2801: }
! 2802: yy172:
! 2803: YYDEBUG(172, *YYCURSOR);
! 2804: yyleng = YYCURSOR - SCNG(yy_text);
! 2805: #line 1332 "Zend/zend_language_scanner.l"
! 2806: {
! 2807: if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
! 2808: zendlval->value.lval = strtol(yytext, NULL, 0);
! 2809: } else {
! 2810: errno = 0;
! 2811: zendlval->value.lval = strtol(yytext, NULL, 0);
! 2812: if (errno == ERANGE) { /* Overflow */
! 2813: if (yytext[0] == '0') { /* octal overflow */
! 2814: zendlval->value.dval = zend_oct_strtod(yytext, NULL);
! 2815: } else {
! 2816: zendlval->value.dval = zend_strtod(yytext, NULL);
! 2817: }
! 2818: zendlval->type = IS_DOUBLE;
! 2819: return T_DNUMBER;
! 2820: }
! 2821: }
! 2822:
! 2823: zendlval->type = IS_LONG;
! 2824: return T_LNUMBER;
! 2825: }
! 2826: #line 2827 "Zend/zend_language_scanner.c"
! 2827: yy173:
! 2828: YYDEBUG(173, *YYCURSOR);
! 2829: yyaccept = 2;
! 2830: yych = *(YYMARKER = ++YYCURSOR);
! 2831: if (yych <= '9') {
! 2832: if (yych == '.') goto yy187;
! 2833: if (yych <= '/') goto yy172;
! 2834: goto yy190;
! 2835: } else {
! 2836: if (yych <= 'E') {
! 2837: if (yych <= 'D') goto yy172;
! 2838: goto yy192;
! 2839: } else {
! 2840: if (yych == 'e') goto yy192;
! 2841: goto yy172;
! 2842: }
! 2843: }
! 2844: yy174:
! 2845: YYDEBUG(174, *YYCURSOR);
! 2846: yych = *++YYCURSOR;
! 2847: goto yy186;
! 2848: yy175:
! 2849: YYDEBUG(175, *YYCURSOR);
! 2850: ++YYCURSOR;
! 2851: yy176:
! 2852: YYDEBUG(176, *YYCURSOR);
! 2853: yyleng = YYCURSOR - SCNG(yy_text);
! 2854: #line 1703 "Zend/zend_language_scanner.l"
! 2855: {
! 2856: while (YYCURSOR < YYLIMIT) {
! 2857: switch (*YYCURSOR++) {
! 2858: case '\r':
! 2859: if (*YYCURSOR == '\n') {
! 2860: YYCURSOR++;
! 2861: }
! 2862: /* fall through */
! 2863: case '\n':
! 2864: CG(zend_lineno)++;
! 2865: break;
! 2866: case '%':
! 2867: if (!CG(asp_tags)) {
! 2868: continue;
! 2869: }
! 2870: /* fall through */
! 2871: case '?':
! 2872: if (*YYCURSOR == '>') {
! 2873: YYCURSOR--;
! 2874: break;
! 2875: }
! 2876: /* fall through */
! 2877: default:
! 2878: continue;
! 2879: }
! 2880:
! 2881: break;
! 2882: }
! 2883:
! 2884: yyleng = YYCURSOR - SCNG(yy_text);
! 2885:
! 2886: return T_COMMENT;
! 2887: }
! 2888: #line 2889 "Zend/zend_language_scanner.c"
! 2889: yy177:
! 2890: YYDEBUG(177, *YYCURSOR);
! 2891: ++YYCURSOR;
! 2892: yy178:
! 2893: YYDEBUG(178, *YYCURSOR);
! 2894: yyleng = YYCURSOR - SCNG(yy_text);
! 2895: #line 1794 "Zend/zend_language_scanner.l"
! 2896: {
! 2897: register char *s, *t;
! 2898: char *end;
! 2899: int bprefix = (yytext[0] != '\'') ? 1 : 0;
! 2900:
! 2901: while (1) {
! 2902: if (YYCURSOR < YYLIMIT) {
! 2903: if (*YYCURSOR == '\'') {
! 2904: YYCURSOR++;
! 2905: yyleng = YYCURSOR - SCNG(yy_text);
! 2906:
! 2907: break;
! 2908: } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
! 2909: YYCURSOR++;
! 2910: }
! 2911: } else {
! 2912: yyleng = YYLIMIT - SCNG(yy_text);
! 2913:
! 2914: /* Unclosed single quotes; treat similar to double quotes, but without a separate token
! 2915: * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
! 2916: * rule, which continued in ST_IN_SCRIPTING state after the quote */
! 2917: return T_ENCAPSED_AND_WHITESPACE;
! 2918: }
! 2919: }
! 2920:
! 2921: zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
! 2922: zendlval->value.str.len = yyleng-bprefix-2;
! 2923: zendlval->type = IS_STRING;
! 2924:
! 2925: /* convert escape sequences */
! 2926: s = t = zendlval->value.str.val;
! 2927: end = s+zendlval->value.str.len;
! 2928: while (s<end) {
! 2929: if (*s=='\\') {
! 2930: s++;
! 2931:
! 2932: switch(*s) {
! 2933: case '\\':
! 2934: case '\'':
! 2935: *t++ = *s;
! 2936: zendlval->value.str.len--;
! 2937: break;
! 2938: default:
! 2939: *t++ = '\\';
! 2940: *t++ = *s;
! 2941: break;
! 2942: }
! 2943: } else {
! 2944: *t++ = *s;
! 2945: }
! 2946:
! 2947: if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
! 2948: CG(zend_lineno)++;
! 2949: }
! 2950: s++;
! 2951: }
! 2952: *t = 0;
! 2953:
! 2954: #ifdef ZEND_MULTIBYTE
! 2955: if (SCNG(output_filter)) {
! 2956: size_t sz = 0;
! 2957: s = zendlval->value.str.val;
! 2958: SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
! 2959: zendlval->value.str.len = sz;
! 2960: efree(s);
! 2961: }
! 2962: #endif /* ZEND_MULTIBYTE */
! 2963: return T_CONSTANT_ENCAPSED_STRING;
! 2964: }
! 2965: #line 2966 "Zend/zend_language_scanner.c"
! 2966: yy179:
! 2967: YYDEBUG(179, *YYCURSOR);
! 2968: ++YYCURSOR;
! 2969: yy180:
! 2970: YYDEBUG(180, *YYCURSOR);
! 2971: yyleng = YYCURSOR - SCNG(yy_text);
! 2972: #line 1865 "Zend/zend_language_scanner.l"
! 2973: {
! 2974: int bprefix = (yytext[0] != '"') ? 1 : 0;
! 2975:
! 2976: while (YYCURSOR < YYLIMIT) {
! 2977: switch (*YYCURSOR++) {
! 2978: case '"':
! 2979: yyleng = YYCURSOR - SCNG(yy_text);
! 2980: zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);
! 2981: return T_CONSTANT_ENCAPSED_STRING;
! 2982: case '$':
! 2983: if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
! 2984: break;
! 2985: }
! 2986: continue;
! 2987: case '{':
! 2988: if (*YYCURSOR == '$') {
! 2989: break;
! 2990: }
! 2991: continue;
! 2992: case '\\':
! 2993: if (YYCURSOR < YYLIMIT) {
! 2994: YYCURSOR++;
! 2995: }
! 2996: /* fall through */
! 2997: default:
! 2998: continue;
! 2999: }
! 3000:
! 3001: YYCURSOR--;
! 3002: break;
! 3003: }
! 3004:
! 3005: /* Remember how much was scanned to save rescanning */
! 3006: SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
! 3007:
! 3008: YYCURSOR = SCNG(yy_text) + yyleng;
! 3009:
! 3010: BEGIN(ST_DOUBLE_QUOTES);
! 3011: return '"';
! 3012: }
! 3013: #line 3014 "Zend/zend_language_scanner.c"
! 3014: yy181:
! 3015: YYDEBUG(181, *YYCURSOR);
! 3016: ++YYCURSOR;
! 3017: YYDEBUG(182, *YYCURSOR);
! 3018: yyleng = YYCURSOR - SCNG(yy_text);
! 3019: #line 1956 "Zend/zend_language_scanner.l"
! 3020: {
! 3021: BEGIN(ST_BACKQUOTE);
! 3022: return '`';
! 3023: }
! 3024: #line 3025 "Zend/zend_language_scanner.c"
! 3025: yy183:
! 3026: YYDEBUG(183, *YYCURSOR);
! 3027: ++YYCURSOR;
! 3028: YYDEBUG(184, *YYCURSOR);
! 3029: yyleng = YYCURSOR - SCNG(yy_text);
! 3030: #line 2214 "Zend/zend_language_scanner.l"
! 3031: {
! 3032: if (YYCURSOR > YYLIMIT) {
! 3033: return 0;
! 3034: }
! 3035:
! 3036: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
! 3037: goto restart;
! 3038: }
! 3039: #line 3040 "Zend/zend_language_scanner.c"
! 3040: yy185:
! 3041: YYDEBUG(185, *YYCURSOR);
! 3042: ++YYCURSOR;
! 3043: YYFILL(1);
! 3044: yych = *YYCURSOR;
! 3045: yy186:
! 3046: YYDEBUG(186, *YYCURSOR);
! 3047: if (yybm[0+yych] & 8) {
! 3048: goto yy185;
! 3049: }
! 3050: goto yy124;
! 3051: yy187:
! 3052: YYDEBUG(187, *YYCURSOR);
! 3053: yyaccept = 3;
! 3054: YYMARKER = ++YYCURSOR;
! 3055: YYFILL(3);
! 3056: yych = *YYCURSOR;
! 3057: YYDEBUG(188, *YYCURSOR);
! 3058: if (yybm[0+yych] & 16) {
! 3059: goto yy187;
! 3060: }
! 3061: if (yych == 'E') goto yy192;
! 3062: if (yych == 'e') goto yy192;
! 3063: yy189:
! 3064: YYDEBUG(189, *YYCURSOR);
! 3065: yyleng = YYCURSOR - SCNG(yy_text);
! 3066: #line 1393 "Zend/zend_language_scanner.l"
! 3067: {
! 3068: zendlval->value.dval = zend_strtod(yytext, NULL);
! 3069: zendlval->type = IS_DOUBLE;
! 3070: return T_DNUMBER;
! 3071: }
! 3072: #line 3073 "Zend/zend_language_scanner.c"
! 3073: yy190:
! 3074: YYDEBUG(190, *YYCURSOR);
! 3075: yyaccept = 2;
! 3076: YYMARKER = ++YYCURSOR;
! 3077: YYFILL(3);
! 3078: yych = *YYCURSOR;
! 3079: YYDEBUG(191, *YYCURSOR);
! 3080: if (yych <= '9') {
! 3081: if (yych == '.') goto yy187;
! 3082: if (yych <= '/') goto yy172;
! 3083: goto yy190;
! 3084: } else {
! 3085: if (yych <= 'E') {
! 3086: if (yych <= 'D') goto yy172;
! 3087: } else {
! 3088: if (yych != 'e') goto yy172;
! 3089: }
! 3090: }
! 3091: yy192:
! 3092: YYDEBUG(192, *YYCURSOR);
! 3093: yych = *++YYCURSOR;
! 3094: if (yych <= ',') {
! 3095: if (yych == '+') goto yy194;
! 3096: } else {
! 3097: if (yych <= '-') goto yy194;
! 3098: if (yych <= '/') goto yy193;
! 3099: if (yych <= '9') goto yy195;
! 3100: }
! 3101: yy193:
! 3102: YYDEBUG(193, *YYCURSOR);
! 3103: YYCURSOR = YYMARKER;
! 3104: if (yyaccept <= 2) {
! 3105: if (yyaccept <= 1) {
! 3106: if (yyaccept <= 0) {
! 3107: goto yy124;
! 3108: } else {
! 3109: goto yy138;
! 3110: }
! 3111: } else {
! 3112: goto yy172;
! 3113: }
! 3114: } else {
! 3115: if (yyaccept <= 4) {
! 3116: if (yyaccept <= 3) {
! 3117: goto yy189;
! 3118: } else {
! 3119: goto yy234;
! 3120: }
! 3121: } else {
! 3122: goto yy250;
! 3123: }
! 3124: }
! 3125: yy194:
! 3126: YYDEBUG(194, *YYCURSOR);
! 3127: yych = *++YYCURSOR;
! 3128: if (yych <= '/') goto yy193;
! 3129: if (yych >= ':') goto yy193;
! 3130: yy195:
! 3131: YYDEBUG(195, *YYCURSOR);
! 3132: ++YYCURSOR;
! 3133: YYFILL(1);
! 3134: yych = *YYCURSOR;
! 3135: YYDEBUG(196, *YYCURSOR);
! 3136: if (yych <= '/') goto yy189;
! 3137: if (yych <= '9') goto yy195;
! 3138: goto yy189;
! 3139: yy197:
! 3140: YYDEBUG(197, *YYCURSOR);
! 3141: yych = *++YYCURSOR;
! 3142: if (yybm[0+yych] & 32) {
! 3143: goto yy198;
! 3144: }
! 3145: goto yy193;
! 3146: yy198:
! 3147: YYDEBUG(198, *YYCURSOR);
! 3148: ++YYCURSOR;
! 3149: YYFILL(1);
! 3150: yych = *YYCURSOR;
! 3151: YYDEBUG(199, *YYCURSOR);
! 3152: if (yybm[0+yych] & 32) {
! 3153: goto yy198;
! 3154: }
! 3155: YYDEBUG(200, *YYCURSOR);
! 3156: yyleng = YYCURSOR - SCNG(yy_text);
! 3157: #line 1353 "Zend/zend_language_scanner.l"
! 3158: {
! 3159: char *hex = yytext + 2; /* Skip "0x" */
! 3160: int len = yyleng - 2;
! 3161:
! 3162: /* Skip any leading 0s */
! 3163: while (*hex == '0') {
! 3164: hex++;
! 3165: len--;
! 3166: }
! 3167:
! 3168: if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
! 3169: zendlval->value.lval = strtol(hex, NULL, 16);
! 3170: zendlval->type = IS_LONG;
! 3171: return T_LNUMBER;
! 3172: } else {
! 3173: zendlval->value.dval = zend_hex_strtod(hex, NULL);
! 3174: zendlval->type = IS_DOUBLE;
! 3175: return T_DNUMBER;
! 3176: }
! 3177: }
! 3178: #line 3179 "Zend/zend_language_scanner.c"
! 3179: yy201:
! 3180: YYDEBUG(201, *YYCURSOR);
! 3181: ++YYCURSOR;
! 3182: if ((yych = *YYCURSOR) == '\n') goto yy203;
! 3183: if (yych == '\r') goto yy204;
! 3184: yy202:
! 3185: YYDEBUG(202, *YYCURSOR);
! 3186: yyleng = YYCURSOR - SCNG(yy_text);
! 3187: #line 1771 "Zend/zend_language_scanner.l"
! 3188: {
! 3189: zendlval->value.str.val = yytext; /* no copying - intentional */
! 3190: zendlval->value.str.len = yyleng;
! 3191: zendlval->type = IS_STRING;
! 3192: BEGIN(INITIAL);
! 3193: return T_CLOSE_TAG; /* implicit ';' at php-end tag */
! 3194: }
! 3195: #line 3196 "Zend/zend_language_scanner.c"
! 3196: yy203:
! 3197: YYDEBUG(203, *YYCURSOR);
! 3198: yych = *++YYCURSOR;
! 3199: goto yy202;
! 3200: yy204:
! 3201: YYDEBUG(204, *YYCURSOR);
! 3202: yych = *++YYCURSOR;
! 3203: if (yych == '\n') goto yy203;
! 3204: goto yy202;
! 3205: yy205:
! 3206: YYDEBUG(205, *YYCURSOR);
! 3207: ++YYCURSOR;
! 3208: YYFILL(1);
! 3209: yych = *YYCURSOR;
! 3210: YYDEBUG(206, *YYCURSOR);
! 3211: if (yych <= '^') {
! 3212: if (yych <= '9') {
! 3213: if (yych >= '0') goto yy205;
! 3214: } else {
! 3215: if (yych <= '@') goto yy207;
! 3216: if (yych <= 'Z') goto yy205;
! 3217: }
! 3218: } else {
! 3219: if (yych <= '`') {
! 3220: if (yych <= '_') goto yy205;
! 3221: } else {
! 3222: if (yych <= 'z') goto yy205;
! 3223: if (yych >= 0x7F) goto yy205;
! 3224: }
! 3225: }
! 3226: yy207:
! 3227: YYDEBUG(207, *YYCURSOR);
! 3228: yyleng = YYCURSOR - SCNG(yy_text);
! 3229: #line 1673 "Zend/zend_language_scanner.l"
! 3230: {
! 3231: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 3232: zendlval->type = IS_STRING;
! 3233: return T_VARIABLE;
! 3234: }
! 3235: #line 3236 "Zend/zend_language_scanner.c"
! 3236: yy208:
! 3237: YYDEBUG(208, *YYCURSOR);
! 3238: yych = *++YYCURSOR;
! 3239: if (yych == 'R') goto yy209;
! 3240: if (yych != 'r') goto yy186;
! 3241: yy209:
! 3242: YYDEBUG(209, *YYCURSOR);
! 3243: ++YYCURSOR;
! 3244: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 3245: goto yy185;
! 3246: }
! 3247: YYDEBUG(210, *YYCURSOR);
! 3248: yyleng = YYCURSOR - SCNG(yy_text);
! 3249: #line 1277 "Zend/zend_language_scanner.l"
! 3250: {
! 3251: return T_LOGICAL_XOR;
! 3252: }
! 3253: #line 3254 "Zend/zend_language_scanner.c"
! 3254: yy211:
! 3255: YYDEBUG(211, *YYCURSOR);
! 3256: ++YYCURSOR;
! 3257: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 3258: goto yy185;
! 3259: }
! 3260: YYDEBUG(212, *YYCURSOR);
! 3261: yyleng = YYCURSOR - SCNG(yy_text);
! 3262: #line 1269 "Zend/zend_language_scanner.l"
! 3263: {
! 3264: return T_LOGICAL_OR;
! 3265: }
! 3266: #line 3267 "Zend/zend_language_scanner.c"
! 3267: yy213:
! 3268: YYDEBUG(213, *YYCURSOR);
! 3269: ++YYCURSOR;
! 3270: YYDEBUG(214, *YYCURSOR);
! 3271: yyleng = YYCURSOR - SCNG(yy_text);
! 3272: #line 1257 "Zend/zend_language_scanner.l"
! 3273: {
! 3274: return T_XOR_EQUAL;
! 3275: }
! 3276: #line 3277 "Zend/zend_language_scanner.c"
! 3277: yy215:
! 3278: YYDEBUG(215, *YYCURSOR);
! 3279: ++YYCURSOR;
! 3280: YYDEBUG(216, *YYCURSOR);
! 3281: yyleng = YYCURSOR - SCNG(yy_text);
! 3282: #line 1261 "Zend/zend_language_scanner.l"
! 3283: {
! 3284: return T_BOOLEAN_OR;
! 3285: }
! 3286: #line 3287 "Zend/zend_language_scanner.c"
! 3287: yy217:
! 3288: YYDEBUG(217, *YYCURSOR);
! 3289: ++YYCURSOR;
! 3290: YYDEBUG(218, *YYCURSOR);
! 3291: yyleng = YYCURSOR - SCNG(yy_text);
! 3292: #line 1253 "Zend/zend_language_scanner.l"
! 3293: {
! 3294: return T_OR_EQUAL;
! 3295: }
! 3296: #line 3297 "Zend/zend_language_scanner.c"
! 3297: yy219:
! 3298: YYDEBUG(219, *YYCURSOR);
! 3299: ++YYCURSOR;
! 3300: YYDEBUG(220, *YYCURSOR);
! 3301: yyleng = YYCURSOR - SCNG(yy_text);
! 3302: #line 1265 "Zend/zend_language_scanner.l"
! 3303: {
! 3304: return T_BOOLEAN_AND;
! 3305: }
! 3306: #line 3307 "Zend/zend_language_scanner.c"
! 3307: yy221:
! 3308: YYDEBUG(221, *YYCURSOR);
! 3309: ++YYCURSOR;
! 3310: YYDEBUG(222, *YYCURSOR);
! 3311: yyleng = YYCURSOR - SCNG(yy_text);
! 3312: #line 1249 "Zend/zend_language_scanner.l"
! 3313: {
! 3314: return T_AND_EQUAL;
! 3315: }
! 3316: #line 3317 "Zend/zend_language_scanner.c"
! 3317: yy223:
! 3318: YYDEBUG(223, *YYCURSOR);
! 3319: ++YYCURSOR;
! 3320: if ((yych = *YYCURSOR) == '\n') goto yy227;
! 3321: if (yych == '\r') goto yy228;
! 3322: yy224:
! 3323: YYDEBUG(224, *YYCURSOR);
! 3324: yyleng = YYCURSOR - SCNG(yy_text);
! 3325: #line 1780 "Zend/zend_language_scanner.l"
! 3326: {
! 3327: if (CG(asp_tags)) {
! 3328: BEGIN(INITIAL);
! 3329: zendlval->value.str.len = yyleng;
! 3330: zendlval->type = IS_STRING;
! 3331: zendlval->value.str.val = yytext; /* no copying - intentional */
! 3332: return T_CLOSE_TAG; /* implicit ';' at php-end tag */
! 3333: } else {
! 3334: yyless(1);
! 3335: return yytext[0];
! 3336: }
! 3337: }
! 3338: #line 3339 "Zend/zend_language_scanner.c"
! 3339: yy225:
! 3340: YYDEBUG(225, *YYCURSOR);
! 3341: ++YYCURSOR;
! 3342: YYDEBUG(226, *YYCURSOR);
! 3343: yyleng = YYCURSOR - SCNG(yy_text);
! 3344: #line 1237 "Zend/zend_language_scanner.l"
! 3345: {
! 3346: return T_MOD_EQUAL;
! 3347: }
! 3348: #line 3349 "Zend/zend_language_scanner.c"
! 3349: yy227:
! 3350: YYDEBUG(227, *YYCURSOR);
! 3351: yych = *++YYCURSOR;
! 3352: goto yy224;
! 3353: yy228:
! 3354: YYDEBUG(228, *YYCURSOR);
! 3355: yych = *++YYCURSOR;
! 3356: if (yych == '\n') goto yy227;
! 3357: goto yy224;
! 3358: yy229:
! 3359: YYDEBUG(229, *YYCURSOR);
! 3360: yyaccept = 3;
! 3361: YYMARKER = ++YYCURSOR;
! 3362: YYFILL(3);
! 3363: yych = *YYCURSOR;
! 3364: YYDEBUG(230, *YYCURSOR);
! 3365: if (yych <= 'D') {
! 3366: if (yych <= '/') goto yy189;
! 3367: if (yych <= '9') goto yy229;
! 3368: goto yy189;
! 3369: } else {
! 3370: if (yych <= 'E') goto yy192;
! 3371: if (yych == 'e') goto yy192;
! 3372: goto yy189;
! 3373: }
! 3374: yy231:
! 3375: YYDEBUG(231, *YYCURSOR);
! 3376: ++YYCURSOR;
! 3377: YYDEBUG(232, *YYCURSOR);
! 3378: yyleng = YYCURSOR - SCNG(yy_text);
! 3379: #line 1233 "Zend/zend_language_scanner.l"
! 3380: {
! 3381: return T_CONCAT_EQUAL;
! 3382: }
! 3383: #line 3384 "Zend/zend_language_scanner.c"
! 3384: yy233:
! 3385: YYDEBUG(233, *YYCURSOR);
! 3386: yyaccept = 4;
! 3387: yych = *(YYMARKER = ++YYCURSOR);
! 3388: if (yych == '*') goto yy238;
! 3389: yy234:
! 3390: YYDEBUG(234, *YYCURSOR);
! 3391: yyleng = YYCURSOR - SCNG(yy_text);
! 3392: #line 1737 "Zend/zend_language_scanner.l"
! 3393: {
! 3394: int doc_com;
! 3395:
! 3396: if (yyleng > 2) {
! 3397: doc_com = 1;
! 3398: RESET_DOC_COMMENT();
! 3399: } else {
! 3400: doc_com = 0;
! 3401: }
! 3402:
! 3403: while (YYCURSOR < YYLIMIT) {
! 3404: if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
! 3405: break;
! 3406: }
! 3407: }
! 3408:
! 3409: if (YYCURSOR < YYLIMIT) {
! 3410: YYCURSOR++;
! 3411: } else {
! 3412: zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
! 3413: }
! 3414:
! 3415: yyleng = YYCURSOR - SCNG(yy_text);
! 3416: HANDLE_NEWLINES(yytext, yyleng);
! 3417:
! 3418: if (doc_com) {
! 3419: CG(doc_comment) = estrndup(yytext, yyleng);
! 3420: CG(doc_comment_len) = yyleng;
! 3421: return T_DOC_COMMENT;
! 3422: }
! 3423:
! 3424: return T_COMMENT;
! 3425: }
! 3426: #line 3427 "Zend/zend_language_scanner.c"
! 3427: yy235:
! 3428: YYDEBUG(235, *YYCURSOR);
! 3429: yych = *++YYCURSOR;
! 3430: goto yy176;
! 3431: yy236:
! 3432: YYDEBUG(236, *YYCURSOR);
! 3433: ++YYCURSOR;
! 3434: YYDEBUG(237, *YYCURSOR);
! 3435: yyleng = YYCURSOR - SCNG(yy_text);
! 3436: #line 1229 "Zend/zend_language_scanner.l"
! 3437: {
! 3438: return T_DIV_EQUAL;
! 3439: }
! 3440: #line 3441 "Zend/zend_language_scanner.c"
! 3441: yy238:
! 3442: YYDEBUG(238, *YYCURSOR);
! 3443: yych = *++YYCURSOR;
! 3444: if (yybm[0+yych] & 64) {
! 3445: goto yy239;
! 3446: }
! 3447: goto yy193;
! 3448: yy239:
! 3449: YYDEBUG(239, *YYCURSOR);
! 3450: ++YYCURSOR;
! 3451: YYFILL(1);
! 3452: yych = *YYCURSOR;
! 3453: YYDEBUG(240, *YYCURSOR);
! 3454: if (yybm[0+yych] & 64) {
! 3455: goto yy239;
! 3456: }
! 3457: goto yy234;
! 3458: yy241:
! 3459: YYDEBUG(241, *YYCURSOR);
! 3460: ++YYCURSOR;
! 3461: YYDEBUG(242, *YYCURSOR);
! 3462: yyleng = YYCURSOR - SCNG(yy_text);
! 3463: #line 1225 "Zend/zend_language_scanner.l"
! 3464: {
! 3465: return T_MUL_EQUAL;
! 3466: }
! 3467: #line 3468 "Zend/zend_language_scanner.c"
! 3468: yy243:
! 3469: YYDEBUG(243, *YYCURSOR);
! 3470: ++YYCURSOR;
! 3471: if ((yych = *YYCURSOR) == '=') goto yy247;
! 3472: YYDEBUG(244, *YYCURSOR);
! 3473: yyleng = YYCURSOR - SCNG(yy_text);
! 3474: #line 1285 "Zend/zend_language_scanner.l"
! 3475: {
! 3476: return T_SR;
! 3477: }
! 3478: #line 3479 "Zend/zend_language_scanner.c"
! 3479: yy245:
! 3480: YYDEBUG(245, *YYCURSOR);
! 3481: ++YYCURSOR;
! 3482: YYDEBUG(246, *YYCURSOR);
! 3483: yyleng = YYCURSOR - SCNG(yy_text);
! 3484: #line 1213 "Zend/zend_language_scanner.l"
! 3485: {
! 3486: return T_IS_GREATER_OR_EQUAL;
! 3487: }
! 3488: #line 3489 "Zend/zend_language_scanner.c"
! 3489: yy247:
! 3490: YYDEBUG(247, *YYCURSOR);
! 3491: ++YYCURSOR;
! 3492: YYDEBUG(248, *YYCURSOR);
! 3493: yyleng = YYCURSOR - SCNG(yy_text);
! 3494: #line 1245 "Zend/zend_language_scanner.l"
! 3495: {
! 3496: return T_SR_EQUAL;
! 3497: }
! 3498: #line 3499 "Zend/zend_language_scanner.c"
! 3499: yy249:
! 3500: YYDEBUG(249, *YYCURSOR);
! 3501: yyaccept = 5;
! 3502: yych = *(YYMARKER = ++YYCURSOR);
! 3503: if (yych <= ';') goto yy250;
! 3504: if (yych <= '<') goto yy265;
! 3505: if (yych <= '=') goto yy263;
! 3506: yy250:
! 3507: YYDEBUG(250, *YYCURSOR);
! 3508: yyleng = YYCURSOR - SCNG(yy_text);
! 3509: #line 1281 "Zend/zend_language_scanner.l"
! 3510: {
! 3511: return T_SL;
! 3512: }
! 3513: #line 3514 "Zend/zend_language_scanner.c"
! 3514: yy251:
! 3515: YYDEBUG(251, *YYCURSOR);
! 3516: yych = *++YYCURSOR;
! 3517: if (yych == 'S') goto yy256;
! 3518: if (yych == 's') goto yy256;
! 3519: goto yy193;
! 3520: yy252:
! 3521: YYDEBUG(252, *YYCURSOR);
! 3522: ++YYCURSOR;
! 3523: YYDEBUG(253, *YYCURSOR);
! 3524: yyleng = YYCURSOR - SCNG(yy_text);
! 3525: #line 1209 "Zend/zend_language_scanner.l"
! 3526: {
! 3527: return T_IS_SMALLER_OR_EQUAL;
! 3528: }
! 3529: #line 3530 "Zend/zend_language_scanner.c"
! 3530: yy254:
! 3531: YYDEBUG(254, *YYCURSOR);
! 3532: ++YYCURSOR;
! 3533: yy255:
! 3534: YYDEBUG(255, *YYCURSOR);
! 3535: yyleng = YYCURSOR - SCNG(yy_text);
! 3536: #line 1205 "Zend/zend_language_scanner.l"
! 3537: {
! 3538: return T_IS_NOT_EQUAL;
! 3539: }
! 3540: #line 3541 "Zend/zend_language_scanner.c"
! 3541: yy256:
! 3542: YYDEBUG(256, *YYCURSOR);
! 3543: yych = *++YYCURSOR;
! 3544: if (yych == 'C') goto yy257;
! 3545: if (yych != 'c') goto yy193;
! 3546: yy257:
! 3547: YYDEBUG(257, *YYCURSOR);
! 3548: yych = *++YYCURSOR;
! 3549: if (yych == 'R') goto yy258;
! 3550: if (yych != 'r') goto yy193;
! 3551: yy258:
! 3552: YYDEBUG(258, *YYCURSOR);
! 3553: yych = *++YYCURSOR;
! 3554: if (yych == 'I') goto yy259;
! 3555: if (yych != 'i') goto yy193;
! 3556: yy259:
! 3557: YYDEBUG(259, *YYCURSOR);
! 3558: yych = *++YYCURSOR;
! 3559: if (yych == 'P') goto yy260;
! 3560: if (yych != 'p') goto yy193;
! 3561: yy260:
! 3562: YYDEBUG(260, *YYCURSOR);
! 3563: yych = *++YYCURSOR;
! 3564: if (yych == 'T') goto yy261;
! 3565: if (yych != 't') goto yy193;
! 3566: yy261:
! 3567: YYDEBUG(261, *YYCURSOR);
! 3568: ++YYCURSOR;
! 3569: YYFILL(3);
! 3570: yych = *YYCURSOR;
! 3571: YYDEBUG(262, *YYCURSOR);
! 3572: if (yych <= '\r') {
! 3573: if (yych <= 0x08) goto yy193;
! 3574: if (yych <= '\n') goto yy261;
! 3575: if (yych <= '\f') goto yy193;
! 3576: goto yy261;
! 3577: } else {
! 3578: if (yych <= ' ') {
! 3579: if (yych <= 0x1F) goto yy193;
! 3580: goto yy261;
! 3581: } else {
! 3582: if (yych == '>') goto yy201;
! 3583: goto yy193;
! 3584: }
! 3585: }
! 3586: yy263:
! 3587: YYDEBUG(263, *YYCURSOR);
! 3588: ++YYCURSOR;
! 3589: YYDEBUG(264, *YYCURSOR);
! 3590: yyleng = YYCURSOR - SCNG(yy_text);
! 3591: #line 1241 "Zend/zend_language_scanner.l"
! 3592: {
! 3593: return T_SL_EQUAL;
! 3594: }
! 3595: #line 3596 "Zend/zend_language_scanner.c"
! 3596: yy265:
! 3597: YYDEBUG(265, *YYCURSOR);
! 3598: ++YYCURSOR;
! 3599: YYFILL(2);
! 3600: yych = *YYCURSOR;
! 3601: YYDEBUG(266, *YYCURSOR);
! 3602: if (yybm[0+yych] & 128) {
! 3603: goto yy265;
! 3604: }
! 3605: if (yych <= 'Z') {
! 3606: if (yych <= '&') {
! 3607: if (yych == '"') goto yy270;
! 3608: goto yy193;
! 3609: } else {
! 3610: if (yych <= '\'') goto yy269;
! 3611: if (yych <= '@') goto yy193;
! 3612: }
! 3613: } else {
! 3614: if (yych <= '`') {
! 3615: if (yych != '_') goto yy193;
! 3616: } else {
! 3617: if (yych <= 'z') goto yy267;
! 3618: if (yych <= '~') goto yy193;
! 3619: }
! 3620: }
! 3621: yy267:
! 3622: YYDEBUG(267, *YYCURSOR);
! 3623: ++YYCURSOR;
! 3624: YYFILL(2);
! 3625: yych = *YYCURSOR;
! 3626: YYDEBUG(268, *YYCURSOR);
! 3627: if (yych <= '@') {
! 3628: if (yych <= '\f') {
! 3629: if (yych == '\n') goto yy274;
! 3630: goto yy193;
! 3631: } else {
! 3632: if (yych <= '\r') goto yy276;
! 3633: if (yych <= '/') goto yy193;
! 3634: if (yych <= '9') goto yy267;
! 3635: goto yy193;
! 3636: }
! 3637: } else {
! 3638: if (yych <= '_') {
! 3639: if (yych <= 'Z') goto yy267;
! 3640: if (yych <= '^') goto yy193;
! 3641: goto yy267;
! 3642: } else {
! 3643: if (yych <= '`') goto yy193;
! 3644: if (yych <= 'z') goto yy267;
! 3645: if (yych <= '~') goto yy193;
! 3646: goto yy267;
! 3647: }
! 3648: }
! 3649: yy269:
! 3650: YYDEBUG(269, *YYCURSOR);
! 3651: yych = *++YYCURSOR;
! 3652: if (yych == '\'') goto yy193;
! 3653: if (yych <= '/') goto yy278;
! 3654: if (yych <= '9') goto yy193;
! 3655: goto yy278;
! 3656: yy270:
! 3657: YYDEBUG(270, *YYCURSOR);
! 3658: yych = *++YYCURSOR;
! 3659: if (yych == '"') goto yy193;
! 3660: if (yych <= '/') goto yy272;
! 3661: if (yych <= '9') goto yy193;
! 3662: goto yy272;
! 3663: yy271:
! 3664: YYDEBUG(271, *YYCURSOR);
! 3665: ++YYCURSOR;
! 3666: YYFILL(3);
! 3667: yych = *YYCURSOR;
! 3668: yy272:
! 3669: YYDEBUG(272, *YYCURSOR);
! 3670: if (yych <= 'Z') {
! 3671: if (yych <= '/') {
! 3672: if (yych != '"') goto yy193;
! 3673: } else {
! 3674: if (yych <= '9') goto yy271;
! 3675: if (yych <= '@') goto yy193;
! 3676: goto yy271;
! 3677: }
! 3678: } else {
! 3679: if (yych <= '`') {
! 3680: if (yych == '_') goto yy271;
! 3681: goto yy193;
! 3682: } else {
! 3683: if (yych <= 'z') goto yy271;
! 3684: if (yych <= '~') goto yy193;
! 3685: goto yy271;
! 3686: }
! 3687: }
! 3688: yy273:
! 3689: YYDEBUG(273, *YYCURSOR);
! 3690: yych = *++YYCURSOR;
! 3691: if (yych == '\n') goto yy274;
! 3692: if (yych == '\r') goto yy276;
! 3693: goto yy193;
! 3694: yy274:
! 3695: YYDEBUG(274, *YYCURSOR);
! 3696: ++YYCURSOR;
! 3697: yy275:
! 3698: YYDEBUG(275, *YYCURSOR);
! 3699: yyleng = YYCURSOR - SCNG(yy_text);
! 3700: #line 1907 "Zend/zend_language_scanner.l"
! 3701: {
! 3702: char *s;
! 3703: int bprefix = (yytext[0] != '<') ? 1 : 0;
! 3704:
! 3705: /* save old heredoc label */
! 3706: Z_STRVAL_P(zendlval) = CG(heredoc);
! 3707: Z_STRLEN_P(zendlval) = CG(heredoc_len);
! 3708:
! 3709: CG(zend_lineno)++;
! 3710: CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
! 3711: s = yytext+bprefix+3;
! 3712: while ((*s == ' ') || (*s == '\t')) {
! 3713: s++;
! 3714: CG(heredoc_len)--;
! 3715: }
! 3716:
! 3717: if (*s == '\'') {
! 3718: s++;
! 3719: CG(heredoc_len) -= 2;
! 3720:
! 3721: BEGIN(ST_NOWDOC);
! 3722: } else {
! 3723: if (*s == '"') {
! 3724: s++;
! 3725: CG(heredoc_len) -= 2;
! 3726: }
! 3727:
! 3728: BEGIN(ST_HEREDOC);
! 3729: }
! 3730:
! 3731: CG(heredoc) = estrndup(s, CG(heredoc_len));
! 3732:
! 3733: /* Check for ending label on the next line */
! 3734: if (CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, CG(heredoc_len))) {
! 3735: YYCTYPE *end = YYCURSOR + CG(heredoc_len);
! 3736:
! 3737: if (*end == ';') {
! 3738: end++;
! 3739: }
! 3740:
! 3741: if (*end == '\n' || *end == '\r') {
! 3742: BEGIN(ST_END_HEREDOC);
! 3743: }
! 3744: }
! 3745:
! 3746: return T_START_HEREDOC;
! 3747: }
! 3748: #line 3749 "Zend/zend_language_scanner.c"
! 3749: yy276:
! 3750: YYDEBUG(276, *YYCURSOR);
! 3751: yych = *++YYCURSOR;
! 3752: if (yych == '\n') goto yy274;
! 3753: goto yy275;
! 3754: yy277:
! 3755: YYDEBUG(277, *YYCURSOR);
! 3756: ++YYCURSOR;
! 3757: YYFILL(3);
! 3758: yych = *YYCURSOR;
! 3759: yy278:
! 3760: YYDEBUG(278, *YYCURSOR);
! 3761: if (yych <= 'Z') {
! 3762: if (yych <= '/') {
! 3763: if (yych == '\'') goto yy273;
! 3764: goto yy193;
! 3765: } else {
! 3766: if (yych <= '9') goto yy277;
! 3767: if (yych <= '@') goto yy193;
! 3768: goto yy277;
! 3769: }
! 3770: } else {
! 3771: if (yych <= '`') {
! 3772: if (yych == '_') goto yy277;
! 3773: goto yy193;
! 3774: } else {
! 3775: if (yych <= 'z') goto yy277;
! 3776: if (yych <= '~') goto yy193;
! 3777: goto yy277;
! 3778: }
! 3779: }
! 3780: yy279:
! 3781: YYDEBUG(279, *YYCURSOR);
! 3782: yych = *++YYCURSOR;
! 3783: if (yych != '=') goto yy255;
! 3784: YYDEBUG(280, *YYCURSOR);
! 3785: ++YYCURSOR;
! 3786: YYDEBUG(281, *YYCURSOR);
! 3787: yyleng = YYCURSOR - SCNG(yy_text);
! 3788: #line 1197 "Zend/zend_language_scanner.l"
! 3789: {
! 3790: return T_IS_NOT_IDENTICAL;
! 3791: }
! 3792: #line 3793 "Zend/zend_language_scanner.c"
! 3793: yy282:
! 3794: YYDEBUG(282, *YYCURSOR);
! 3795: ++YYCURSOR;
! 3796: YYDEBUG(283, *YYCURSOR);
! 3797: yyleng = YYCURSOR - SCNG(yy_text);
! 3798: #line 1217 "Zend/zend_language_scanner.l"
! 3799: {
! 3800: return T_PLUS_EQUAL;
! 3801: }
! 3802: #line 3803 "Zend/zend_language_scanner.c"
! 3803: yy284:
! 3804: YYDEBUG(284, *YYCURSOR);
! 3805: ++YYCURSOR;
! 3806: YYDEBUG(285, *YYCURSOR);
! 3807: yyleng = YYCURSOR - SCNG(yy_text);
! 3808: #line 1185 "Zend/zend_language_scanner.l"
! 3809: {
! 3810: return T_INC;
! 3811: }
! 3812: #line 3813 "Zend/zend_language_scanner.c"
! 3813: yy286:
! 3814: YYDEBUG(286, *YYCURSOR);
! 3815: yych = *++YYCURSOR;
! 3816: if (yych == 'S') goto yy287;
! 3817: if (yych != 's') goto yy186;
! 3818: yy287:
! 3819: YYDEBUG(287, *YYCURSOR);
! 3820: yych = *++YYCURSOR;
! 3821: if (yych == 'T') goto yy288;
! 3822: if (yych != 't') goto yy186;
! 3823: yy288:
! 3824: YYDEBUG(288, *YYCURSOR);
! 3825: ++YYCURSOR;
! 3826: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 3827: goto yy185;
! 3828: }
! 3829: YYDEBUG(289, *YYCURSOR);
! 3830: yyleng = YYCURSOR - SCNG(yy_text);
! 3831: #line 1177 "Zend/zend_language_scanner.l"
! 3832: {
! 3833: return T_LIST;
! 3834: }
! 3835: #line 3836 "Zend/zend_language_scanner.c"
! 3836: yy290:
! 3837: YYDEBUG(290, *YYCURSOR);
! 3838: ++YYCURSOR;
! 3839: if ((yych = *YYCURSOR) == '=') goto yy294;
! 3840: YYDEBUG(291, *YYCURSOR);
! 3841: yyleng = YYCURSOR - SCNG(yy_text);
! 3842: #line 1201 "Zend/zend_language_scanner.l"
! 3843: {
! 3844: return T_IS_EQUAL;
! 3845: }
! 3846: #line 3847 "Zend/zend_language_scanner.c"
! 3847: yy292:
! 3848: YYDEBUG(292, *YYCURSOR);
! 3849: ++YYCURSOR;
! 3850: YYDEBUG(293, *YYCURSOR);
! 3851: yyleng = YYCURSOR - SCNG(yy_text);
! 3852: #line 1173 "Zend/zend_language_scanner.l"
! 3853: {
! 3854: return T_DOUBLE_ARROW;
! 3855: }
! 3856: #line 3857 "Zend/zend_language_scanner.c"
! 3857: yy294:
! 3858: YYDEBUG(294, *YYCURSOR);
! 3859: ++YYCURSOR;
! 3860: YYDEBUG(295, *YYCURSOR);
! 3861: yyleng = YYCURSOR - SCNG(yy_text);
! 3862: #line 1193 "Zend/zend_language_scanner.l"
! 3863: {
! 3864: return T_IS_IDENTICAL;
! 3865: }
! 3866: #line 3867 "Zend/zend_language_scanner.c"
! 3867: yy296:
! 3868: YYDEBUG(296, *YYCURSOR);
! 3869: yych = *++YYCURSOR;
! 3870: YYDEBUG(-1, yych);
! 3871: switch (yych) {
! 3872: case 'C':
! 3873: case 'c': goto yy298;
! 3874: case 'D':
! 3875: case 'd': goto yy302;
! 3876: case 'F':
! 3877: case 'f': goto yy299;
! 3878: case 'H':
! 3879: case 'h': goto yy297;
! 3880: case 'L':
! 3881: case 'l': goto yy301;
! 3882: case 'M':
! 3883: case 'm': goto yy300;
! 3884: case 'N':
! 3885: case 'n': goto yy303;
! 3886: default: goto yy186;
! 3887: }
! 3888: yy297:
! 3889: YYDEBUG(297, *YYCURSOR);
! 3890: yych = *++YYCURSOR;
! 3891: if (yych == 'A') goto yy357;
! 3892: if (yych == 'a') goto yy357;
! 3893: goto yy186;
! 3894: yy298:
! 3895: YYDEBUG(298, *YYCURSOR);
! 3896: yych = *++YYCURSOR;
! 3897: if (yych == 'L') goto yy350;
! 3898: if (yych == 'l') goto yy350;
! 3899: goto yy186;
! 3900: yy299:
! 3901: YYDEBUG(299, *YYCURSOR);
! 3902: yych = *++YYCURSOR;
! 3903: if (yych <= 'U') {
! 3904: if (yych == 'I') goto yy334;
! 3905: if (yych <= 'T') goto yy186;
! 3906: goto yy335;
! 3907: } else {
! 3908: if (yych <= 'i') {
! 3909: if (yych <= 'h') goto yy186;
! 3910: goto yy334;
! 3911: } else {
! 3912: if (yych == 'u') goto yy335;
! 3913: goto yy186;
! 3914: }
! 3915: }
! 3916: yy300:
! 3917: YYDEBUG(300, *YYCURSOR);
! 3918: yych = *++YYCURSOR;
! 3919: if (yych == 'E') goto yy326;
! 3920: if (yych == 'e') goto yy326;
! 3921: goto yy186;
! 3922: yy301:
! 3923: YYDEBUG(301, *YYCURSOR);
! 3924: yych = *++YYCURSOR;
! 3925: if (yych == 'I') goto yy320;
! 3926: if (yych == 'i') goto yy320;
! 3927: goto yy186;
! 3928: yy302:
! 3929: YYDEBUG(302, *YYCURSOR);
! 3930: yych = *++YYCURSOR;
! 3931: if (yych == 'I') goto yy315;
! 3932: if (yych == 'i') goto yy315;
! 3933: goto yy186;
! 3934: yy303:
! 3935: YYDEBUG(303, *YYCURSOR);
! 3936: yych = *++YYCURSOR;
! 3937: if (yych == 'A') goto yy304;
! 3938: if (yych != 'a') goto yy186;
! 3939: yy304:
! 3940: YYDEBUG(304, *YYCURSOR);
! 3941: yych = *++YYCURSOR;
! 3942: if (yych == 'M') goto yy305;
! 3943: if (yych != 'm') goto yy186;
! 3944: yy305:
! 3945: YYDEBUG(305, *YYCURSOR);
! 3946: yych = *++YYCURSOR;
! 3947: if (yych == 'E') goto yy306;
! 3948: if (yych != 'e') goto yy186;
! 3949: yy306:
! 3950: YYDEBUG(306, *YYCURSOR);
! 3951: yych = *++YYCURSOR;
! 3952: if (yych == 'S') goto yy307;
! 3953: if (yych != 's') goto yy186;
! 3954: yy307:
! 3955: YYDEBUG(307, *YYCURSOR);
! 3956: yych = *++YYCURSOR;
! 3957: if (yych == 'P') goto yy308;
! 3958: if (yych != 'p') goto yy186;
! 3959: yy308:
! 3960: YYDEBUG(308, *YYCURSOR);
! 3961: yych = *++YYCURSOR;
! 3962: if (yych == 'A') goto yy309;
! 3963: if (yych != 'a') goto yy186;
! 3964: yy309:
! 3965: YYDEBUG(309, *YYCURSOR);
! 3966: yych = *++YYCURSOR;
! 3967: if (yych == 'C') goto yy310;
! 3968: if (yych != 'c') goto yy186;
! 3969: yy310:
! 3970: YYDEBUG(310, *YYCURSOR);
! 3971: yych = *++YYCURSOR;
! 3972: if (yych == 'E') goto yy311;
! 3973: if (yych != 'e') goto yy186;
! 3974: yy311:
! 3975: YYDEBUG(311, *YYCURSOR);
! 3976: yych = *++YYCURSOR;
! 3977: if (yych != '_') goto yy186;
! 3978: YYDEBUG(312, *YYCURSOR);
! 3979: yych = *++YYCURSOR;
! 3980: if (yych != '_') goto yy186;
! 3981: YYDEBUG(313, *YYCURSOR);
! 3982: ++YYCURSOR;
! 3983: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 3984: goto yy185;
! 3985: }
! 3986: YYDEBUG(314, *YYCURSOR);
! 3987: yyleng = YYCURSOR - SCNG(yy_text);
! 3988: #line 1497 "Zend/zend_language_scanner.l"
! 3989: {
! 3990: if (CG(current_namespace)) {
! 3991: *zendlval = *CG(current_namespace);
! 3992: zval_copy_ctor(zendlval);
! 3993: } else {
! 3994: ZVAL_EMPTY_STRING(zendlval);
! 3995: }
! 3996: return T_NS_C;
! 3997: }
! 3998: #line 3999 "Zend/zend_language_scanner.c"
! 3999: yy315:
! 4000: YYDEBUG(315, *YYCURSOR);
! 4001: yych = *++YYCURSOR;
! 4002: if (yych == 'R') goto yy316;
! 4003: if (yych != 'r') goto yy186;
! 4004: yy316:
! 4005: YYDEBUG(316, *YYCURSOR);
! 4006: yych = *++YYCURSOR;
! 4007: if (yych != '_') goto yy186;
! 4008: YYDEBUG(317, *YYCURSOR);
! 4009: yych = *++YYCURSOR;
! 4010: if (yych != '_') goto yy186;
! 4011: YYDEBUG(318, *YYCURSOR);
! 4012: ++YYCURSOR;
! 4013: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4014: goto yy185;
! 4015: }
! 4016: YYDEBUG(319, *YYCURSOR);
! 4017: yyleng = YYCURSOR - SCNG(yy_text);
! 4018: #line 1470 "Zend/zend_language_scanner.l"
! 4019: {
! 4020: char *filename = zend_get_compiled_filename(TSRMLS_C);
! 4021: const size_t filename_len = strlen(filename);
! 4022: char *dirname;
! 4023:
! 4024: if (!filename) {
! 4025: filename = "";
! 4026: }
! 4027:
! 4028: dirname = estrndup(filename, filename_len);
! 4029: zend_dirname(dirname, filename_len);
! 4030:
! 4031: if (strcmp(dirname, ".") == 0) {
! 4032: dirname = erealloc(dirname, MAXPATHLEN);
! 4033: #if HAVE_GETCWD
! 4034: VCWD_GETCWD(dirname, MAXPATHLEN);
! 4035: #elif HAVE_GETWD
! 4036: VCWD_GETWD(dirname);
! 4037: #endif
! 4038: }
! 4039:
! 4040: zendlval->value.str.len = strlen(dirname);
! 4041: zendlval->value.str.val = dirname;
! 4042: zendlval->type = IS_STRING;
! 4043: return T_DIR;
! 4044: }
! 4045: #line 4046 "Zend/zend_language_scanner.c"
! 4046: yy320:
! 4047: YYDEBUG(320, *YYCURSOR);
! 4048: yych = *++YYCURSOR;
! 4049: if (yych == 'N') goto yy321;
! 4050: if (yych != 'n') goto yy186;
! 4051: yy321:
! 4052: YYDEBUG(321, *YYCURSOR);
! 4053: yych = *++YYCURSOR;
! 4054: if (yych == 'E') goto yy322;
! 4055: if (yych != 'e') goto yy186;
! 4056: yy322:
! 4057: YYDEBUG(322, *YYCURSOR);
! 4058: yych = *++YYCURSOR;
! 4059: if (yych != '_') goto yy186;
! 4060: YYDEBUG(323, *YYCURSOR);
! 4061: yych = *++YYCURSOR;
! 4062: if (yych != '_') goto yy186;
! 4063: YYDEBUG(324, *YYCURSOR);
! 4064: ++YYCURSOR;
! 4065: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4066: goto yy185;
! 4067: }
! 4068: YYDEBUG(325, *YYCURSOR);
! 4069: yyleng = YYCURSOR - SCNG(yy_text);
! 4070: #line 1452 "Zend/zend_language_scanner.l"
! 4071: {
! 4072: zendlval->value.lval = CG(zend_lineno);
! 4073: zendlval->type = IS_LONG;
! 4074: return T_LINE;
! 4075: }
! 4076: #line 4077 "Zend/zend_language_scanner.c"
! 4077: yy326:
! 4078: YYDEBUG(326, *YYCURSOR);
! 4079: yych = *++YYCURSOR;
! 4080: if (yych == 'T') goto yy327;
! 4081: if (yych != 't') goto yy186;
! 4082: yy327:
! 4083: YYDEBUG(327, *YYCURSOR);
! 4084: yych = *++YYCURSOR;
! 4085: if (yych == 'H') goto yy328;
! 4086: if (yych != 'h') goto yy186;
! 4087: yy328:
! 4088: YYDEBUG(328, *YYCURSOR);
! 4089: yych = *++YYCURSOR;
! 4090: if (yych == 'O') goto yy329;
! 4091: if (yych != 'o') goto yy186;
! 4092: yy329:
! 4093: YYDEBUG(329, *YYCURSOR);
! 4094: yych = *++YYCURSOR;
! 4095: if (yych == 'D') goto yy330;
! 4096: if (yych != 'd') goto yy186;
! 4097: yy330:
! 4098: YYDEBUG(330, *YYCURSOR);
! 4099: yych = *++YYCURSOR;
! 4100: if (yych != '_') goto yy186;
! 4101: YYDEBUG(331, *YYCURSOR);
! 4102: yych = *++YYCURSOR;
! 4103: if (yych != '_') goto yy186;
! 4104: YYDEBUG(332, *YYCURSOR);
! 4105: ++YYCURSOR;
! 4106: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4107: goto yy185;
! 4108: }
! 4109: YYDEBUG(333, *YYCURSOR);
! 4110: yyleng = YYCURSOR - SCNG(yy_text);
! 4111: #line 1431 "Zend/zend_language_scanner.l"
! 4112: {
! 4113: char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
! 4114: char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
! 4115: size_t len = 0;
! 4116:
! 4117: if (class_name) {
! 4118: len += strlen(class_name) + 2;
! 4119: }
! 4120: if (func_name) {
! 4121: len += strlen(func_name);
! 4122: }
! 4123:
! 4124: zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
! 4125: class_name ? class_name : "",
! 4126: class_name && func_name ? "::" : "",
! 4127: func_name ? func_name : ""
! 4128: );
! 4129: zendlval->type = IS_STRING;
! 4130: return T_METHOD_C;
! 4131: }
! 4132: #line 4133 "Zend/zend_language_scanner.c"
! 4133: yy334:
! 4134: YYDEBUG(334, *YYCURSOR);
! 4135: yych = *++YYCURSOR;
! 4136: if (yych == 'L') goto yy345;
! 4137: if (yych == 'l') goto yy345;
! 4138: goto yy186;
! 4139: yy335:
! 4140: YYDEBUG(335, *YYCURSOR);
! 4141: yych = *++YYCURSOR;
! 4142: if (yych == 'N') goto yy336;
! 4143: if (yych != 'n') goto yy186;
! 4144: yy336:
! 4145: YYDEBUG(336, *YYCURSOR);
! 4146: yych = *++YYCURSOR;
! 4147: if (yych == 'C') goto yy337;
! 4148: if (yych != 'c') goto yy186;
! 4149: yy337:
! 4150: YYDEBUG(337, *YYCURSOR);
! 4151: yych = *++YYCURSOR;
! 4152: if (yych == 'T') goto yy338;
! 4153: if (yych != 't') goto yy186;
! 4154: yy338:
! 4155: YYDEBUG(338, *YYCURSOR);
! 4156: yych = *++YYCURSOR;
! 4157: if (yych == 'I') goto yy339;
! 4158: if (yych != 'i') goto yy186;
! 4159: yy339:
! 4160: YYDEBUG(339, *YYCURSOR);
! 4161: yych = *++YYCURSOR;
! 4162: if (yych == 'O') goto yy340;
! 4163: if (yych != 'o') goto yy186;
! 4164: yy340:
! 4165: YYDEBUG(340, *YYCURSOR);
! 4166: yych = *++YYCURSOR;
! 4167: if (yych == 'N') goto yy341;
! 4168: if (yych != 'n') goto yy186;
! 4169: yy341:
! 4170: YYDEBUG(341, *YYCURSOR);
! 4171: yych = *++YYCURSOR;
! 4172: if (yych != '_') goto yy186;
! 4173: YYDEBUG(342, *YYCURSOR);
! 4174: yych = *++YYCURSOR;
! 4175: if (yych != '_') goto yy186;
! 4176: YYDEBUG(343, *YYCURSOR);
! 4177: ++YYCURSOR;
! 4178: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4179: goto yy185;
! 4180: }
! 4181: YYDEBUG(344, *YYCURSOR);
! 4182: yyleng = YYCURSOR - SCNG(yy_text);
! 4183: #line 1415 "Zend/zend_language_scanner.l"
! 4184: {
! 4185: char *func_name = NULL;
! 4186:
! 4187: if (CG(active_op_array)) {
! 4188: func_name = CG(active_op_array)->function_name;
! 4189: }
! 4190:
! 4191: if (!func_name) {
! 4192: func_name = "";
! 4193: }
! 4194: zendlval->value.str.len = strlen(func_name);
! 4195: zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
! 4196: zendlval->type = IS_STRING;
! 4197: return T_FUNC_C;
! 4198: }
! 4199: #line 4200 "Zend/zend_language_scanner.c"
! 4200: yy345:
! 4201: YYDEBUG(345, *YYCURSOR);
! 4202: yych = *++YYCURSOR;
! 4203: if (yych == 'E') goto yy346;
! 4204: if (yych != 'e') goto yy186;
! 4205: yy346:
! 4206: YYDEBUG(346, *YYCURSOR);
! 4207: yych = *++YYCURSOR;
! 4208: if (yych != '_') goto yy186;
! 4209: YYDEBUG(347, *YYCURSOR);
! 4210: yych = *++YYCURSOR;
! 4211: if (yych != '_') goto yy186;
! 4212: YYDEBUG(348, *YYCURSOR);
! 4213: ++YYCURSOR;
! 4214: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4215: goto yy185;
! 4216: }
! 4217: YYDEBUG(349, *YYCURSOR);
! 4218: yyleng = YYCURSOR - SCNG(yy_text);
! 4219: #line 1458 "Zend/zend_language_scanner.l"
! 4220: {
! 4221: char *filename = zend_get_compiled_filename(TSRMLS_C);
! 4222:
! 4223: if (!filename) {
! 4224: filename = "";
! 4225: }
! 4226: zendlval->value.str.len = strlen(filename);
! 4227: zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
! 4228: zendlval->type = IS_STRING;
! 4229: return T_FILE;
! 4230: }
! 4231: #line 4232 "Zend/zend_language_scanner.c"
! 4232: yy350:
! 4233: YYDEBUG(350, *YYCURSOR);
! 4234: yych = *++YYCURSOR;
! 4235: if (yych == 'A') goto yy351;
! 4236: if (yych != 'a') goto yy186;
! 4237: yy351:
! 4238: YYDEBUG(351, *YYCURSOR);
! 4239: yych = *++YYCURSOR;
! 4240: if (yych == 'S') goto yy352;
! 4241: if (yych != 's') goto yy186;
! 4242: yy352:
! 4243: YYDEBUG(352, *YYCURSOR);
! 4244: yych = *++YYCURSOR;
! 4245: if (yych == 'S') goto yy353;
! 4246: if (yych != 's') goto yy186;
! 4247: yy353:
! 4248: YYDEBUG(353, *YYCURSOR);
! 4249: yych = *++YYCURSOR;
! 4250: if (yych != '_') goto yy186;
! 4251: YYDEBUG(354, *YYCURSOR);
! 4252: yych = *++YYCURSOR;
! 4253: if (yych != '_') goto yy186;
! 4254: YYDEBUG(355, *YYCURSOR);
! 4255: ++YYCURSOR;
! 4256: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4257: goto yy185;
! 4258: }
! 4259: YYDEBUG(356, *YYCURSOR);
! 4260: yyleng = YYCURSOR - SCNG(yy_text);
! 4261: #line 1399 "Zend/zend_language_scanner.l"
! 4262: {
! 4263: char *class_name = NULL;
! 4264:
! 4265: if (CG(active_class_entry)) {
! 4266: class_name = CG(active_class_entry)->name;
! 4267: }
! 4268:
! 4269: if (!class_name) {
! 4270: class_name = "";
! 4271: }
! 4272: zendlval->value.str.len = strlen(class_name);
! 4273: zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
! 4274: zendlval->type = IS_STRING;
! 4275: return T_CLASS_C;
! 4276: }
! 4277: #line 4278 "Zend/zend_language_scanner.c"
! 4278: yy357:
! 4279: YYDEBUG(357, *YYCURSOR);
! 4280: yych = *++YYCURSOR;
! 4281: if (yych == 'L') goto yy358;
! 4282: if (yych != 'l') goto yy186;
! 4283: yy358:
! 4284: YYDEBUG(358, *YYCURSOR);
! 4285: yych = *++YYCURSOR;
! 4286: if (yych == 'T') goto yy359;
! 4287: if (yych != 't') goto yy186;
! 4288: yy359:
! 4289: YYDEBUG(359, *YYCURSOR);
! 4290: yych = *++YYCURSOR;
! 4291: if (yych != '_') goto yy186;
! 4292: YYDEBUG(360, *YYCURSOR);
! 4293: yych = *++YYCURSOR;
! 4294: if (yych == 'C') goto yy361;
! 4295: if (yych != 'c') goto yy186;
! 4296: yy361:
! 4297: YYDEBUG(361, *YYCURSOR);
! 4298: yych = *++YYCURSOR;
! 4299: if (yych == 'O') goto yy362;
! 4300: if (yych != 'o') goto yy186;
! 4301: yy362:
! 4302: YYDEBUG(362, *YYCURSOR);
! 4303: yych = *++YYCURSOR;
! 4304: if (yych == 'M') goto yy363;
! 4305: if (yych != 'm') goto yy186;
! 4306: yy363:
! 4307: YYDEBUG(363, *YYCURSOR);
! 4308: yych = *++YYCURSOR;
! 4309: if (yych == 'P') goto yy364;
! 4310: if (yych != 'p') goto yy186;
! 4311: yy364:
! 4312: YYDEBUG(364, *YYCURSOR);
! 4313: yych = *++YYCURSOR;
! 4314: if (yych == 'I') goto yy365;
! 4315: if (yych != 'i') goto yy186;
! 4316: yy365:
! 4317: YYDEBUG(365, *YYCURSOR);
! 4318: yych = *++YYCURSOR;
! 4319: if (yych == 'L') goto yy366;
! 4320: if (yych != 'l') goto yy186;
! 4321: yy366:
! 4322: YYDEBUG(366, *YYCURSOR);
! 4323: yych = *++YYCURSOR;
! 4324: if (yych == 'E') goto yy367;
! 4325: if (yych != 'e') goto yy186;
! 4326: yy367:
! 4327: YYDEBUG(367, *YYCURSOR);
! 4328: yych = *++YYCURSOR;
! 4329: if (yych == 'R') goto yy368;
! 4330: if (yych != 'r') goto yy186;
! 4331: yy368:
! 4332: YYDEBUG(368, *YYCURSOR);
! 4333: ++YYCURSOR;
! 4334: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4335: goto yy185;
! 4336: }
! 4337: YYDEBUG(369, *YYCURSOR);
! 4338: yyleng = YYCURSOR - SCNG(yy_text);
! 4339: #line 1141 "Zend/zend_language_scanner.l"
! 4340: {
! 4341: return T_HALT_COMPILER;
! 4342: }
! 4343: #line 4344 "Zend/zend_language_scanner.c"
! 4344: yy370:
! 4345: YYDEBUG(370, *YYCURSOR);
! 4346: yych = *++YYCURSOR;
! 4347: if (yych == 'S') goto yy374;
! 4348: if (yych == 's') goto yy374;
! 4349: goto yy186;
! 4350: yy371:
! 4351: YYDEBUG(371, *YYCURSOR);
! 4352: yych = *++YYCURSOR;
! 4353: if (yych == 'E') goto yy372;
! 4354: if (yych != 'e') goto yy186;
! 4355: yy372:
! 4356: YYDEBUG(372, *YYCURSOR);
! 4357: ++YYCURSOR;
! 4358: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4359: goto yy185;
! 4360: }
! 4361: YYDEBUG(373, *YYCURSOR);
! 4362: yyleng = YYCURSOR - SCNG(yy_text);
! 4363: #line 1125 "Zend/zend_language_scanner.l"
! 4364: {
! 4365: return T_USE;
! 4366: }
! 4367: #line 4368 "Zend/zend_language_scanner.c"
! 4368: yy374:
! 4369: YYDEBUG(374, *YYCURSOR);
! 4370: yych = *++YYCURSOR;
! 4371: if (yych == 'E') goto yy375;
! 4372: if (yych != 'e') goto yy186;
! 4373: yy375:
! 4374: YYDEBUG(375, *YYCURSOR);
! 4375: yych = *++YYCURSOR;
! 4376: if (yych == 'T') goto yy376;
! 4377: if (yych != 't') goto yy186;
! 4378: yy376:
! 4379: YYDEBUG(376, *YYCURSOR);
! 4380: ++YYCURSOR;
! 4381: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4382: goto yy185;
! 4383: }
! 4384: YYDEBUG(377, *YYCURSOR);
! 4385: yyleng = YYCURSOR - SCNG(yy_text);
! 4386: #line 1169 "Zend/zend_language_scanner.l"
! 4387: {
! 4388: return T_UNSET;
! 4389: }
! 4390: #line 4391 "Zend/zend_language_scanner.c"
! 4391: yy378:
! 4392: YYDEBUG(378, *YYCURSOR);
! 4393: ++YYCURSOR;
! 4394: YYFILL(7);
! 4395: yych = *YYCURSOR;
! 4396: yy379:
! 4397: YYDEBUG(379, *YYCURSOR);
! 4398: if (yych <= 'S') {
! 4399: if (yych <= 'D') {
! 4400: if (yych <= ' ') {
! 4401: if (yych == '\t') goto yy378;
! 4402: if (yych <= 0x1F) goto yy193;
! 4403: goto yy378;
! 4404: } else {
! 4405: if (yych <= 'A') {
! 4406: if (yych <= '@') goto yy193;
! 4407: goto yy383;
! 4408: } else {
! 4409: if (yych <= 'B') goto yy381;
! 4410: if (yych <= 'C') goto yy193;
! 4411: goto yy386;
! 4412: }
! 4413: }
! 4414: } else {
! 4415: if (yych <= 'I') {
! 4416: if (yych == 'F') goto yy387;
! 4417: if (yych <= 'H') goto yy193;
! 4418: goto yy388;
! 4419: } else {
! 4420: if (yych <= 'O') {
! 4421: if (yych <= 'N') goto yy193;
! 4422: goto yy382;
! 4423: } else {
! 4424: if (yych <= 'Q') goto yy193;
! 4425: if (yych <= 'R') goto yy385;
! 4426: goto yy384;
! 4427: }
! 4428: }
! 4429: }
! 4430: } else {
! 4431: if (yych <= 'f') {
! 4432: if (yych <= 'a') {
! 4433: if (yych == 'U') goto yy380;
! 4434: if (yych <= '`') goto yy193;
! 4435: goto yy383;
! 4436: } else {
! 4437: if (yych <= 'c') {
! 4438: if (yych <= 'b') goto yy381;
! 4439: goto yy193;
! 4440: } else {
! 4441: if (yych <= 'd') goto yy386;
! 4442: if (yych <= 'e') goto yy193;
! 4443: goto yy387;
! 4444: }
! 4445: }
! 4446: } else {
! 4447: if (yych <= 'q') {
! 4448: if (yych <= 'i') {
! 4449: if (yych <= 'h') goto yy193;
! 4450: goto yy388;
! 4451: } else {
! 4452: if (yych == 'o') goto yy382;
! 4453: goto yy193;
! 4454: }
! 4455: } else {
! 4456: if (yych <= 's') {
! 4457: if (yych <= 'r') goto yy385;
! 4458: goto yy384;
! 4459: } else {
! 4460: if (yych != 'u') goto yy193;
! 4461: }
! 4462: }
! 4463: }
! 4464: }
! 4465: yy380:
! 4466: YYDEBUG(380, *YYCURSOR);
! 4467: yych = *++YYCURSOR;
! 4468: if (yych == 'N') goto yy451;
! 4469: if (yych == 'n') goto yy451;
! 4470: goto yy193;
! 4471: yy381:
! 4472: YYDEBUG(381, *YYCURSOR);
! 4473: yych = *++YYCURSOR;
! 4474: if (yych <= 'O') {
! 4475: if (yych == 'I') goto yy434;
! 4476: if (yych <= 'N') goto yy193;
! 4477: goto yy435;
! 4478: } else {
! 4479: if (yych <= 'i') {
! 4480: if (yych <= 'h') goto yy193;
! 4481: goto yy434;
! 4482: } else {
! 4483: if (yych == 'o') goto yy435;
! 4484: goto yy193;
! 4485: }
! 4486: }
! 4487: yy382:
! 4488: YYDEBUG(382, *YYCURSOR);
! 4489: yych = *++YYCURSOR;
! 4490: if (yych == 'B') goto yy426;
! 4491: if (yych == 'b') goto yy426;
! 4492: goto yy193;
! 4493: yy383:
! 4494: YYDEBUG(383, *YYCURSOR);
! 4495: yych = *++YYCURSOR;
! 4496: if (yych == 'R') goto yy419;
! 4497: if (yych == 'r') goto yy419;
! 4498: goto yy193;
! 4499: yy384:
! 4500: YYDEBUG(384, *YYCURSOR);
! 4501: yych = *++YYCURSOR;
! 4502: if (yych == 'T') goto yy411;
! 4503: if (yych == 't') goto yy411;
! 4504: goto yy193;
! 4505: yy385:
! 4506: YYDEBUG(385, *YYCURSOR);
! 4507: yych = *++YYCURSOR;
! 4508: if (yych == 'E') goto yy409;
! 4509: if (yych == 'e') goto yy409;
! 4510: goto yy193;
! 4511: yy386:
! 4512: YYDEBUG(386, *YYCURSOR);
! 4513: yych = *++YYCURSOR;
! 4514: if (yych == 'O') goto yy405;
! 4515: if (yych == 'o') goto yy405;
! 4516: goto yy193;
! 4517: yy387:
! 4518: YYDEBUG(387, *YYCURSOR);
! 4519: yych = *++YYCURSOR;
! 4520: if (yych == 'L') goto yy398;
! 4521: if (yych == 'l') goto yy398;
! 4522: goto yy193;
! 4523: yy388:
! 4524: YYDEBUG(388, *YYCURSOR);
! 4525: yych = *++YYCURSOR;
! 4526: if (yych == 'N') goto yy389;
! 4527: if (yych != 'n') goto yy193;
! 4528: yy389:
! 4529: YYDEBUG(389, *YYCURSOR);
! 4530: yych = *++YYCURSOR;
! 4531: if (yych == 'T') goto yy390;
! 4532: if (yych != 't') goto yy193;
! 4533: yy390:
! 4534: YYDEBUG(390, *YYCURSOR);
! 4535: yych = *++YYCURSOR;
! 4536: if (yych == 'E') goto yy391;
! 4537: if (yych != 'e') goto yy393;
! 4538: yy391:
! 4539: YYDEBUG(391, *YYCURSOR);
! 4540: yych = *++YYCURSOR;
! 4541: if (yych == 'G') goto yy396;
! 4542: if (yych == 'g') goto yy396;
! 4543: goto yy193;
! 4544: yy392:
! 4545: YYDEBUG(392, *YYCURSOR);
! 4546: ++YYCURSOR;
! 4547: YYFILL(1);
! 4548: yych = *YYCURSOR;
! 4549: yy393:
! 4550: YYDEBUG(393, *YYCURSOR);
! 4551: if (yych <= 0x1F) {
! 4552: if (yych == '\t') goto yy392;
! 4553: goto yy193;
! 4554: } else {
! 4555: if (yych <= ' ') goto yy392;
! 4556: if (yych != ')') goto yy193;
! 4557: }
! 4558: YYDEBUG(394, *YYCURSOR);
! 4559: ++YYCURSOR;
! 4560: YYDEBUG(395, *YYCURSOR);
! 4561: yyleng = YYCURSOR - SCNG(yy_text);
! 4562: #line 1069 "Zend/zend_language_scanner.l"
! 4563: {
! 4564: return T_INT_CAST;
! 4565: }
! 4566: #line 4567 "Zend/zend_language_scanner.c"
! 4567: yy396:
! 4568: YYDEBUG(396, *YYCURSOR);
! 4569: yych = *++YYCURSOR;
! 4570: if (yych == 'E') goto yy397;
! 4571: if (yych != 'e') goto yy193;
! 4572: yy397:
! 4573: YYDEBUG(397, *YYCURSOR);
! 4574: yych = *++YYCURSOR;
! 4575: if (yych == 'R') goto yy392;
! 4576: if (yych == 'r') goto yy392;
! 4577: goto yy193;
! 4578: yy398:
! 4579: YYDEBUG(398, *YYCURSOR);
! 4580: yych = *++YYCURSOR;
! 4581: if (yych == 'O') goto yy399;
! 4582: if (yych != 'o') goto yy193;
! 4583: yy399:
! 4584: YYDEBUG(399, *YYCURSOR);
! 4585: yych = *++YYCURSOR;
! 4586: if (yych == 'A') goto yy400;
! 4587: if (yych != 'a') goto yy193;
! 4588: yy400:
! 4589: YYDEBUG(400, *YYCURSOR);
! 4590: yych = *++YYCURSOR;
! 4591: if (yych == 'T') goto yy401;
! 4592: if (yych != 't') goto yy193;
! 4593: yy401:
! 4594: YYDEBUG(401, *YYCURSOR);
! 4595: ++YYCURSOR;
! 4596: YYFILL(1);
! 4597: yych = *YYCURSOR;
! 4598: YYDEBUG(402, *YYCURSOR);
! 4599: if (yych <= 0x1F) {
! 4600: if (yych == '\t') goto yy401;
! 4601: goto yy193;
! 4602: } else {
! 4603: if (yych <= ' ') goto yy401;
! 4604: if (yych != ')') goto yy193;
! 4605: }
! 4606: YYDEBUG(403, *YYCURSOR);
! 4607: ++YYCURSOR;
! 4608: YYDEBUG(404, *YYCURSOR);
! 4609: yyleng = YYCURSOR - SCNG(yy_text);
! 4610: #line 1073 "Zend/zend_language_scanner.l"
! 4611: {
! 4612: return T_DOUBLE_CAST;
! 4613: }
! 4614: #line 4615 "Zend/zend_language_scanner.c"
! 4615: yy405:
! 4616: YYDEBUG(405, *YYCURSOR);
! 4617: yych = *++YYCURSOR;
! 4618: if (yych == 'U') goto yy406;
! 4619: if (yych != 'u') goto yy193;
! 4620: yy406:
! 4621: YYDEBUG(406, *YYCURSOR);
! 4622: yych = *++YYCURSOR;
! 4623: if (yych == 'B') goto yy407;
! 4624: if (yych != 'b') goto yy193;
! 4625: yy407:
! 4626: YYDEBUG(407, *YYCURSOR);
! 4627: yych = *++YYCURSOR;
! 4628: if (yych == 'L') goto yy408;
! 4629: if (yych != 'l') goto yy193;
! 4630: yy408:
! 4631: YYDEBUG(408, *YYCURSOR);
! 4632: yych = *++YYCURSOR;
! 4633: if (yych == 'E') goto yy401;
! 4634: if (yych == 'e') goto yy401;
! 4635: goto yy193;
! 4636: yy409:
! 4637: YYDEBUG(409, *YYCURSOR);
! 4638: yych = *++YYCURSOR;
! 4639: if (yych == 'A') goto yy410;
! 4640: if (yych != 'a') goto yy193;
! 4641: yy410:
! 4642: YYDEBUG(410, *YYCURSOR);
! 4643: yych = *++YYCURSOR;
! 4644: if (yych == 'L') goto yy401;
! 4645: if (yych == 'l') goto yy401;
! 4646: goto yy193;
! 4647: yy411:
! 4648: YYDEBUG(411, *YYCURSOR);
! 4649: yych = *++YYCURSOR;
! 4650: if (yych == 'R') goto yy412;
! 4651: if (yych != 'r') goto yy193;
! 4652: yy412:
! 4653: YYDEBUG(412, *YYCURSOR);
! 4654: yych = *++YYCURSOR;
! 4655: if (yych == 'I') goto yy413;
! 4656: if (yych != 'i') goto yy193;
! 4657: yy413:
! 4658: YYDEBUG(413, *YYCURSOR);
! 4659: yych = *++YYCURSOR;
! 4660: if (yych == 'N') goto yy414;
! 4661: if (yych != 'n') goto yy193;
! 4662: yy414:
! 4663: YYDEBUG(414, *YYCURSOR);
! 4664: yych = *++YYCURSOR;
! 4665: if (yych == 'G') goto yy415;
! 4666: if (yych != 'g') goto yy193;
! 4667: yy415:
! 4668: YYDEBUG(415, *YYCURSOR);
! 4669: ++YYCURSOR;
! 4670: YYFILL(1);
! 4671: yych = *YYCURSOR;
! 4672: YYDEBUG(416, *YYCURSOR);
! 4673: if (yych <= 0x1F) {
! 4674: if (yych == '\t') goto yy415;
! 4675: goto yy193;
! 4676: } else {
! 4677: if (yych <= ' ') goto yy415;
! 4678: if (yych != ')') goto yy193;
! 4679: }
! 4680: YYDEBUG(417, *YYCURSOR);
! 4681: ++YYCURSOR;
! 4682: YYDEBUG(418, *YYCURSOR);
! 4683: yyleng = YYCURSOR - SCNG(yy_text);
! 4684: #line 1077 "Zend/zend_language_scanner.l"
! 4685: {
! 4686: return T_STRING_CAST;
! 4687: }
! 4688: #line 4689 "Zend/zend_language_scanner.c"
! 4689: yy419:
! 4690: YYDEBUG(419, *YYCURSOR);
! 4691: yych = *++YYCURSOR;
! 4692: if (yych == 'R') goto yy420;
! 4693: if (yych != 'r') goto yy193;
! 4694: yy420:
! 4695: YYDEBUG(420, *YYCURSOR);
! 4696: yych = *++YYCURSOR;
! 4697: if (yych == 'A') goto yy421;
! 4698: if (yych != 'a') goto yy193;
! 4699: yy421:
! 4700: YYDEBUG(421, *YYCURSOR);
! 4701: yych = *++YYCURSOR;
! 4702: if (yych == 'Y') goto yy422;
! 4703: if (yych != 'y') goto yy193;
! 4704: yy422:
! 4705: YYDEBUG(422, *YYCURSOR);
! 4706: ++YYCURSOR;
! 4707: YYFILL(1);
! 4708: yych = *YYCURSOR;
! 4709: YYDEBUG(423, *YYCURSOR);
! 4710: if (yych <= 0x1F) {
! 4711: if (yych == '\t') goto yy422;
! 4712: goto yy193;
! 4713: } else {
! 4714: if (yych <= ' ') goto yy422;
! 4715: if (yych != ')') goto yy193;
! 4716: }
! 4717: YYDEBUG(424, *YYCURSOR);
! 4718: ++YYCURSOR;
! 4719: YYDEBUG(425, *YYCURSOR);
! 4720: yyleng = YYCURSOR - SCNG(yy_text);
! 4721: #line 1085 "Zend/zend_language_scanner.l"
! 4722: {
! 4723: return T_ARRAY_CAST;
! 4724: }
! 4725: #line 4726 "Zend/zend_language_scanner.c"
! 4726: yy426:
! 4727: YYDEBUG(426, *YYCURSOR);
! 4728: yych = *++YYCURSOR;
! 4729: if (yych == 'J') goto yy427;
! 4730: if (yych != 'j') goto yy193;
! 4731: yy427:
! 4732: YYDEBUG(427, *YYCURSOR);
! 4733: yych = *++YYCURSOR;
! 4734: if (yych == 'E') goto yy428;
! 4735: if (yych != 'e') goto yy193;
! 4736: yy428:
! 4737: YYDEBUG(428, *YYCURSOR);
! 4738: yych = *++YYCURSOR;
! 4739: if (yych == 'C') goto yy429;
! 4740: if (yych != 'c') goto yy193;
! 4741: yy429:
! 4742: YYDEBUG(429, *YYCURSOR);
! 4743: yych = *++YYCURSOR;
! 4744: if (yych == 'T') goto yy430;
! 4745: if (yych != 't') goto yy193;
! 4746: yy430:
! 4747: YYDEBUG(430, *YYCURSOR);
! 4748: ++YYCURSOR;
! 4749: YYFILL(1);
! 4750: yych = *YYCURSOR;
! 4751: YYDEBUG(431, *YYCURSOR);
! 4752: if (yych <= 0x1F) {
! 4753: if (yych == '\t') goto yy430;
! 4754: goto yy193;
! 4755: } else {
! 4756: if (yych <= ' ') goto yy430;
! 4757: if (yych != ')') goto yy193;
! 4758: }
! 4759: YYDEBUG(432, *YYCURSOR);
! 4760: ++YYCURSOR;
! 4761: YYDEBUG(433, *YYCURSOR);
! 4762: yyleng = YYCURSOR - SCNG(yy_text);
! 4763: #line 1089 "Zend/zend_language_scanner.l"
! 4764: {
! 4765: return T_OBJECT_CAST;
! 4766: }
! 4767: #line 4768 "Zend/zend_language_scanner.c"
! 4768: yy434:
! 4769: YYDEBUG(434, *YYCURSOR);
! 4770: yych = *++YYCURSOR;
! 4771: if (yych == 'N') goto yy444;
! 4772: if (yych == 'n') goto yy444;
! 4773: goto yy193;
! 4774: yy435:
! 4775: YYDEBUG(435, *YYCURSOR);
! 4776: yych = *++YYCURSOR;
! 4777: if (yych == 'O') goto yy436;
! 4778: if (yych != 'o') goto yy193;
! 4779: yy436:
! 4780: YYDEBUG(436, *YYCURSOR);
! 4781: yych = *++YYCURSOR;
! 4782: if (yych == 'L') goto yy437;
! 4783: if (yych != 'l') goto yy193;
! 4784: yy437:
! 4785: YYDEBUG(437, *YYCURSOR);
! 4786: yych = *++YYCURSOR;
! 4787: if (yych == 'E') goto yy442;
! 4788: if (yych == 'e') goto yy442;
! 4789: goto yy439;
! 4790: yy438:
! 4791: YYDEBUG(438, *YYCURSOR);
! 4792: ++YYCURSOR;
! 4793: YYFILL(1);
! 4794: yych = *YYCURSOR;
! 4795: yy439:
! 4796: YYDEBUG(439, *YYCURSOR);
! 4797: if (yych <= 0x1F) {
! 4798: if (yych == '\t') goto yy438;
! 4799: goto yy193;
! 4800: } else {
! 4801: if (yych <= ' ') goto yy438;
! 4802: if (yych != ')') goto yy193;
! 4803: }
! 4804: YYDEBUG(440, *YYCURSOR);
! 4805: ++YYCURSOR;
! 4806: YYDEBUG(441, *YYCURSOR);
! 4807: yyleng = YYCURSOR - SCNG(yy_text);
! 4808: #line 1093 "Zend/zend_language_scanner.l"
! 4809: {
! 4810: return T_BOOL_CAST;
! 4811: }
! 4812: #line 4813 "Zend/zend_language_scanner.c"
! 4813: yy442:
! 4814: YYDEBUG(442, *YYCURSOR);
! 4815: yych = *++YYCURSOR;
! 4816: if (yych == 'A') goto yy443;
! 4817: if (yych != 'a') goto yy193;
! 4818: yy443:
! 4819: YYDEBUG(443, *YYCURSOR);
! 4820: yych = *++YYCURSOR;
! 4821: if (yych == 'N') goto yy438;
! 4822: if (yych == 'n') goto yy438;
! 4823: goto yy193;
! 4824: yy444:
! 4825: YYDEBUG(444, *YYCURSOR);
! 4826: yych = *++YYCURSOR;
! 4827: if (yych == 'A') goto yy445;
! 4828: if (yych != 'a') goto yy193;
! 4829: yy445:
! 4830: YYDEBUG(445, *YYCURSOR);
! 4831: yych = *++YYCURSOR;
! 4832: if (yych == 'R') goto yy446;
! 4833: if (yych != 'r') goto yy193;
! 4834: yy446:
! 4835: YYDEBUG(446, *YYCURSOR);
! 4836: yych = *++YYCURSOR;
! 4837: if (yych == 'Y') goto yy447;
! 4838: if (yych != 'y') goto yy193;
! 4839: yy447:
! 4840: YYDEBUG(447, *YYCURSOR);
! 4841: ++YYCURSOR;
! 4842: YYFILL(1);
! 4843: yych = *YYCURSOR;
! 4844: YYDEBUG(448, *YYCURSOR);
! 4845: if (yych <= 0x1F) {
! 4846: if (yych == '\t') goto yy447;
! 4847: goto yy193;
! 4848: } else {
! 4849: if (yych <= ' ') goto yy447;
! 4850: if (yych != ')') goto yy193;
! 4851: }
! 4852: YYDEBUG(449, *YYCURSOR);
! 4853: ++YYCURSOR;
! 4854: YYDEBUG(450, *YYCURSOR);
! 4855: yyleng = YYCURSOR - SCNG(yy_text);
! 4856: #line 1081 "Zend/zend_language_scanner.l"
! 4857: {
! 4858: return T_STRING_CAST;
! 4859: }
! 4860: #line 4861 "Zend/zend_language_scanner.c"
! 4861: yy451:
! 4862: YYDEBUG(451, *YYCURSOR);
! 4863: yych = *++YYCURSOR;
! 4864: if (yych == 'S') goto yy452;
! 4865: if (yych != 's') goto yy193;
! 4866: yy452:
! 4867: YYDEBUG(452, *YYCURSOR);
! 4868: yych = *++YYCURSOR;
! 4869: if (yych == 'E') goto yy453;
! 4870: if (yych != 'e') goto yy193;
! 4871: yy453:
! 4872: YYDEBUG(453, *YYCURSOR);
! 4873: yych = *++YYCURSOR;
! 4874: if (yych == 'T') goto yy454;
! 4875: if (yych != 't') goto yy193;
! 4876: yy454:
! 4877: YYDEBUG(454, *YYCURSOR);
! 4878: ++YYCURSOR;
! 4879: YYFILL(1);
! 4880: yych = *YYCURSOR;
! 4881: YYDEBUG(455, *YYCURSOR);
! 4882: if (yych <= 0x1F) {
! 4883: if (yych == '\t') goto yy454;
! 4884: goto yy193;
! 4885: } else {
! 4886: if (yych <= ' ') goto yy454;
! 4887: if (yych != ')') goto yy193;
! 4888: }
! 4889: YYDEBUG(456, *YYCURSOR);
! 4890: ++YYCURSOR;
! 4891: YYDEBUG(457, *YYCURSOR);
! 4892: yyleng = YYCURSOR - SCNG(yy_text);
! 4893: #line 1097 "Zend/zend_language_scanner.l"
! 4894: {
! 4895: return T_UNSET_CAST;
! 4896: }
! 4897: #line 4898 "Zend/zend_language_scanner.c"
! 4898: yy458:
! 4899: YYDEBUG(458, *YYCURSOR);
! 4900: yych = *++YYCURSOR;
! 4901: if (yych == 'R') goto yy459;
! 4902: if (yych != 'r') goto yy186;
! 4903: yy459:
! 4904: YYDEBUG(459, *YYCURSOR);
! 4905: ++YYCURSOR;
! 4906: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4907: goto yy185;
! 4908: }
! 4909: YYDEBUG(460, *YYCURSOR);
! 4910: yyleng = YYCURSOR - SCNG(yy_text);
! 4911: #line 1065 "Zend/zend_language_scanner.l"
! 4912: {
! 4913: return T_VAR;
! 4914: }
! 4915: #line 4916 "Zend/zend_language_scanner.c"
! 4916: yy461:
! 4917: YYDEBUG(461, *YYCURSOR);
! 4918: yych = *++YYCURSOR;
! 4919: if (yych == 'M') goto yy465;
! 4920: if (yych == 'm') goto yy465;
! 4921: goto yy186;
! 4922: yy462:
! 4923: YYDEBUG(462, *YYCURSOR);
! 4924: yych = *++YYCURSOR;
! 4925: if (yych == 'W') goto yy463;
! 4926: if (yych != 'w') goto yy186;
! 4927: yy463:
! 4928: YYDEBUG(463, *YYCURSOR);
! 4929: ++YYCURSOR;
! 4930: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4931: goto yy185;
! 4932: }
! 4933: YYDEBUG(464, *YYCURSOR);
! 4934: yyleng = YYCURSOR - SCNG(yy_text);
! 4935: #line 1057 "Zend/zend_language_scanner.l"
! 4936: {
! 4937: return T_NEW;
! 4938: }
! 4939: #line 4940 "Zend/zend_language_scanner.c"
! 4940: yy465:
! 4941: YYDEBUG(465, *YYCURSOR);
! 4942: yych = *++YYCURSOR;
! 4943: if (yych == 'E') goto yy466;
! 4944: if (yych != 'e') goto yy186;
! 4945: yy466:
! 4946: YYDEBUG(466, *YYCURSOR);
! 4947: yych = *++YYCURSOR;
! 4948: if (yych == 'S') goto yy467;
! 4949: if (yych != 's') goto yy186;
! 4950: yy467:
! 4951: YYDEBUG(467, *YYCURSOR);
! 4952: yych = *++YYCURSOR;
! 4953: if (yych == 'P') goto yy468;
! 4954: if (yych != 'p') goto yy186;
! 4955: yy468:
! 4956: YYDEBUG(468, *YYCURSOR);
! 4957: yych = *++YYCURSOR;
! 4958: if (yych == 'A') goto yy469;
! 4959: if (yych != 'a') goto yy186;
! 4960: yy469:
! 4961: YYDEBUG(469, *YYCURSOR);
! 4962: yych = *++YYCURSOR;
! 4963: if (yych == 'C') goto yy470;
! 4964: if (yych != 'c') goto yy186;
! 4965: yy470:
! 4966: YYDEBUG(470, *YYCURSOR);
! 4967: yych = *++YYCURSOR;
! 4968: if (yych == 'E') goto yy471;
! 4969: if (yych != 'e') goto yy186;
! 4970: yy471:
! 4971: YYDEBUG(471, *YYCURSOR);
! 4972: ++YYCURSOR;
! 4973: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 4974: goto yy185;
! 4975: }
! 4976: YYDEBUG(472, *YYCURSOR);
! 4977: yyleng = YYCURSOR - SCNG(yy_text);
! 4978: #line 1121 "Zend/zend_language_scanner.l"
! 4979: {
! 4980: return T_NAMESPACE;
! 4981: }
! 4982: #line 4983 "Zend/zend_language_scanner.c"
! 4983: yy473:
! 4984: YYDEBUG(473, *YYCURSOR);
! 4985: ++YYCURSOR;
! 4986: YYDEBUG(474, *YYCURSOR);
! 4987: yyleng = YYCURSOR - SCNG(yy_text);
! 4988: #line 1049 "Zend/zend_language_scanner.l"
! 4989: {
! 4990: return T_PAAMAYIM_NEKUDOTAYIM;
! 4991: }
! 4992: #line 4993 "Zend/zend_language_scanner.c"
! 4993: yy475:
! 4994: YYDEBUG(475, *YYCURSOR);
! 4995: ++YYCURSOR;
! 4996: YYFILL(1);
! 4997: yych = *YYCURSOR;
! 4998: yy476:
! 4999: YYDEBUG(476, *YYCURSOR);
! 5000: if (yych <= '\f') {
! 5001: if (yych <= 0x08) goto yy140;
! 5002: if (yych <= '\n') goto yy475;
! 5003: goto yy140;
! 5004: } else {
! 5005: if (yych <= '\r') goto yy475;
! 5006: if (yych == ' ') goto yy475;
! 5007: goto yy140;
! 5008: }
! 5009: yy477:
! 5010: YYDEBUG(477, *YYCURSOR);
! 5011: ++YYCURSOR;
! 5012: YYDEBUG(478, *YYCURSOR);
! 5013: yyleng = YYCURSOR - SCNG(yy_text);
! 5014: #line 1221 "Zend/zend_language_scanner.l"
! 5015: {
! 5016: return T_MINUS_EQUAL;
! 5017: }
! 5018: #line 5019 "Zend/zend_language_scanner.c"
! 5019: yy479:
! 5020: YYDEBUG(479, *YYCURSOR);
! 5021: ++YYCURSOR;
! 5022: YYDEBUG(480, *YYCURSOR);
! 5023: yyleng = YYCURSOR - SCNG(yy_text);
! 5024: #line 1189 "Zend/zend_language_scanner.l"
! 5025: {
! 5026: return T_DEC;
! 5027: }
! 5028: #line 5029 "Zend/zend_language_scanner.c"
! 5029: yy481:
! 5030: YYDEBUG(481, *YYCURSOR);
! 5031: ++YYCURSOR;
! 5032: YYDEBUG(482, *YYCURSOR);
! 5033: yyleng = YYCURSOR - SCNG(yy_text);
! 5034: #line 1019 "Zend/zend_language_scanner.l"
! 5035: {
! 5036: yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
! 5037: return T_OBJECT_OPERATOR;
! 5038: }
! 5039: #line 5040 "Zend/zend_language_scanner.c"
! 5040: yy483:
! 5041: YYDEBUG(483, *YYCURSOR);
! 5042: yych = *++YYCURSOR;
! 5043: if (yych <= 'O') {
! 5044: if (yych == 'I') goto yy490;
! 5045: if (yych <= 'N') goto yy186;
! 5046: goto yy491;
! 5047: } else {
! 5048: if (yych <= 'i') {
! 5049: if (yych <= 'h') goto yy186;
! 5050: goto yy490;
! 5051: } else {
! 5052: if (yych == 'o') goto yy491;
! 5053: goto yy186;
! 5054: }
! 5055: }
! 5056: yy484:
! 5057: YYDEBUG(484, *YYCURSOR);
! 5058: yych = *++YYCURSOR;
! 5059: if (yych == 'B') goto yy485;
! 5060: if (yych != 'b') goto yy186;
! 5061: yy485:
! 5062: YYDEBUG(485, *YYCURSOR);
! 5063: yych = *++YYCURSOR;
! 5064: if (yych == 'L') goto yy486;
! 5065: if (yych != 'l') goto yy186;
! 5066: yy486:
! 5067: YYDEBUG(486, *YYCURSOR);
! 5068: yych = *++YYCURSOR;
! 5069: if (yych == 'I') goto yy487;
! 5070: if (yych != 'i') goto yy186;
! 5071: yy487:
! 5072: YYDEBUG(487, *YYCURSOR);
! 5073: yych = *++YYCURSOR;
! 5074: if (yych == 'C') goto yy488;
! 5075: if (yych != 'c') goto yy186;
! 5076: yy488:
! 5077: YYDEBUG(488, *YYCURSOR);
! 5078: ++YYCURSOR;
! 5079: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5080: goto yy185;
! 5081: }
! 5082: YYDEBUG(489, *YYCURSOR);
! 5083: yyleng = YYCURSOR - SCNG(yy_text);
! 5084: #line 1165 "Zend/zend_language_scanner.l"
! 5085: {
! 5086: return T_PUBLIC;
! 5087: }
! 5088: #line 5089 "Zend/zend_language_scanner.c"
! 5089: yy490:
! 5090: YYDEBUG(490, *YYCURSOR);
! 5091: yych = *++YYCURSOR;
! 5092: if (yych <= 'V') {
! 5093: if (yych == 'N') goto yy499;
! 5094: if (yych <= 'U') goto yy186;
! 5095: goto yy500;
! 5096: } else {
! 5097: if (yych <= 'n') {
! 5098: if (yych <= 'm') goto yy186;
! 5099: goto yy499;
! 5100: } else {
! 5101: if (yych == 'v') goto yy500;
! 5102: goto yy186;
! 5103: }
! 5104: }
! 5105: yy491:
! 5106: YYDEBUG(491, *YYCURSOR);
! 5107: yych = *++YYCURSOR;
! 5108: if (yych == 'T') goto yy492;
! 5109: if (yych != 't') goto yy186;
! 5110: yy492:
! 5111: YYDEBUG(492, *YYCURSOR);
! 5112: yych = *++YYCURSOR;
! 5113: if (yych == 'E') goto yy493;
! 5114: if (yych != 'e') goto yy186;
! 5115: yy493:
! 5116: YYDEBUG(493, *YYCURSOR);
! 5117: yych = *++YYCURSOR;
! 5118: if (yych == 'C') goto yy494;
! 5119: if (yych != 'c') goto yy186;
! 5120: yy494:
! 5121: YYDEBUG(494, *YYCURSOR);
! 5122: yych = *++YYCURSOR;
! 5123: if (yych == 'T') goto yy495;
! 5124: if (yych != 't') goto yy186;
! 5125: yy495:
! 5126: YYDEBUG(495, *YYCURSOR);
! 5127: yych = *++YYCURSOR;
! 5128: if (yych == 'E') goto yy496;
! 5129: if (yych != 'e') goto yy186;
! 5130: yy496:
! 5131: YYDEBUG(496, *YYCURSOR);
! 5132: yych = *++YYCURSOR;
! 5133: if (yych == 'D') goto yy497;
! 5134: if (yych != 'd') goto yy186;
! 5135: yy497:
! 5136: YYDEBUG(497, *YYCURSOR);
! 5137: ++YYCURSOR;
! 5138: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5139: goto yy185;
! 5140: }
! 5141: YYDEBUG(498, *YYCURSOR);
! 5142: yyleng = YYCURSOR - SCNG(yy_text);
! 5143: #line 1161 "Zend/zend_language_scanner.l"
! 5144: {
! 5145: return T_PROTECTED;
! 5146: }
! 5147: #line 5148 "Zend/zend_language_scanner.c"
! 5148: yy499:
! 5149: YYDEBUG(499, *YYCURSOR);
! 5150: yych = *++YYCURSOR;
! 5151: if (yych == 'T') goto yy505;
! 5152: if (yych == 't') goto yy505;
! 5153: goto yy186;
! 5154: yy500:
! 5155: YYDEBUG(500, *YYCURSOR);
! 5156: yych = *++YYCURSOR;
! 5157: if (yych == 'A') goto yy501;
! 5158: if (yych != 'a') goto yy186;
! 5159: yy501:
! 5160: YYDEBUG(501, *YYCURSOR);
! 5161: yych = *++YYCURSOR;
! 5162: if (yych == 'T') goto yy502;
! 5163: if (yych != 't') goto yy186;
! 5164: yy502:
! 5165: YYDEBUG(502, *YYCURSOR);
! 5166: yych = *++YYCURSOR;
! 5167: if (yych == 'E') goto yy503;
! 5168: if (yych != 'e') goto yy186;
! 5169: yy503:
! 5170: YYDEBUG(503, *YYCURSOR);
! 5171: ++YYCURSOR;
! 5172: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5173: goto yy185;
! 5174: }
! 5175: YYDEBUG(504, *YYCURSOR);
! 5176: yyleng = YYCURSOR - SCNG(yy_text);
! 5177: #line 1157 "Zend/zend_language_scanner.l"
! 5178: {
! 5179: return T_PRIVATE;
! 5180: }
! 5181: #line 5182 "Zend/zend_language_scanner.c"
! 5182: yy505:
! 5183: YYDEBUG(505, *YYCURSOR);
! 5184: ++YYCURSOR;
! 5185: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5186: goto yy185;
! 5187: }
! 5188: YYDEBUG(506, *YYCURSOR);
! 5189: yyleng = YYCURSOR - SCNG(yy_text);
! 5190: #line 999 "Zend/zend_language_scanner.l"
! 5191: {
! 5192: return T_PRINT;
! 5193: }
! 5194: #line 5195 "Zend/zend_language_scanner.c"
! 5195: yy507:
! 5196: YYDEBUG(507, *YYCURSOR);
! 5197: yych = *++YYCURSOR;
! 5198: if (yych == 'O') goto yy512;
! 5199: if (yych == 'o') goto yy512;
! 5200: goto yy186;
! 5201: yy508:
! 5202: YYDEBUG(508, *YYCURSOR);
! 5203: yych = *++YYCURSOR;
! 5204: if (yych == 'T') goto yy509;
! 5205: if (yych != 't') goto yy186;
! 5206: yy509:
! 5207: YYDEBUG(509, *YYCURSOR);
! 5208: yych = *++YYCURSOR;
! 5209: if (yych == 'O') goto yy510;
! 5210: if (yych != 'o') goto yy186;
! 5211: yy510:
! 5212: YYDEBUG(510, *YYCURSOR);
! 5213: ++YYCURSOR;
! 5214: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5215: goto yy185;
! 5216: }
! 5217: YYDEBUG(511, *YYCURSOR);
! 5218: yyleng = YYCURSOR - SCNG(yy_text);
! 5219: #line 991 "Zend/zend_language_scanner.l"
! 5220: {
! 5221: return T_GOTO;
! 5222: }
! 5223: #line 5224 "Zend/zend_language_scanner.c"
! 5224: yy512:
! 5225: YYDEBUG(512, *YYCURSOR);
! 5226: yych = *++YYCURSOR;
! 5227: if (yych == 'B') goto yy513;
! 5228: if (yych != 'b') goto yy186;
! 5229: yy513:
! 5230: YYDEBUG(513, *YYCURSOR);
! 5231: yych = *++YYCURSOR;
! 5232: if (yych == 'A') goto yy514;
! 5233: if (yych != 'a') goto yy186;
! 5234: yy514:
! 5235: YYDEBUG(514, *YYCURSOR);
! 5236: yych = *++YYCURSOR;
! 5237: if (yych == 'L') goto yy515;
! 5238: if (yych != 'l') goto yy186;
! 5239: yy515:
! 5240: YYDEBUG(515, *YYCURSOR);
! 5241: ++YYCURSOR;
! 5242: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5243: goto yy185;
! 5244: }
! 5245: YYDEBUG(516, *YYCURSOR);
! 5246: yyleng = YYCURSOR - SCNG(yy_text);
! 5247: #line 1129 "Zend/zend_language_scanner.l"
! 5248: {
! 5249: return T_GLOBAL;
! 5250: }
! 5251: #line 5252 "Zend/zend_language_scanner.c"
! 5252: yy517:
! 5253: YYDEBUG(517, *YYCURSOR);
! 5254: yych = *++YYCURSOR;
! 5255: if (yych == '<') goto yy525;
! 5256: goto yy193;
! 5257: yy518:
! 5258: YYDEBUG(518, *YYCURSOR);
! 5259: yych = *++YYCURSOR;
! 5260: goto yy180;
! 5261: yy519:
! 5262: YYDEBUG(519, *YYCURSOR);
! 5263: yych = *++YYCURSOR;
! 5264: goto yy178;
! 5265: yy520:
! 5266: YYDEBUG(520, *YYCURSOR);
! 5267: yych = *++YYCURSOR;
! 5268: if (yych == 'E') goto yy521;
! 5269: if (yych != 'e') goto yy186;
! 5270: yy521:
! 5271: YYDEBUG(521, *YYCURSOR);
! 5272: yych = *++YYCURSOR;
! 5273: if (yych == 'A') goto yy522;
! 5274: if (yych != 'a') goto yy186;
! 5275: yy522:
! 5276: YYDEBUG(522, *YYCURSOR);
! 5277: yych = *++YYCURSOR;
! 5278: if (yych == 'K') goto yy523;
! 5279: if (yych != 'k') goto yy186;
! 5280: yy523:
! 5281: YYDEBUG(523, *YYCURSOR);
! 5282: ++YYCURSOR;
! 5283: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5284: goto yy185;
! 5285: }
! 5286: YYDEBUG(524, *YYCURSOR);
! 5287: yyleng = YYCURSOR - SCNG(yy_text);
! 5288: #line 983 "Zend/zend_language_scanner.l"
! 5289: {
! 5290: return T_BREAK;
! 5291: }
! 5292: #line 5293 "Zend/zend_language_scanner.c"
! 5293: yy525:
! 5294: YYDEBUG(525, *YYCURSOR);
! 5295: yych = *++YYCURSOR;
! 5296: if (yych == '<') goto yy265;
! 5297: goto yy193;
! 5298: yy526:
! 5299: YYDEBUG(526, *YYCURSOR);
! 5300: yych = *++YYCURSOR;
! 5301: if (yych == 'A') goto yy533;
! 5302: if (yych == 'a') goto yy533;
! 5303: goto yy186;
! 5304: yy527:
! 5305: YYDEBUG(527, *YYCURSOR);
! 5306: yych = *++YYCURSOR;
! 5307: if (yych == 'I') goto yy528;
! 5308: if (yych != 'i') goto yy186;
! 5309: yy528:
! 5310: YYDEBUG(528, *YYCURSOR);
! 5311: yych = *++YYCURSOR;
! 5312: if (yych == 'T') goto yy529;
! 5313: if (yych != 't') goto yy186;
! 5314: yy529:
! 5315: YYDEBUG(529, *YYCURSOR);
! 5316: yych = *++YYCURSOR;
! 5317: if (yych == 'C') goto yy530;
! 5318: if (yych != 'c') goto yy186;
! 5319: yy530:
! 5320: YYDEBUG(530, *YYCURSOR);
! 5321: yych = *++YYCURSOR;
! 5322: if (yych == 'H') goto yy531;
! 5323: if (yych != 'h') goto yy186;
! 5324: yy531:
! 5325: YYDEBUG(531, *YYCURSOR);
! 5326: ++YYCURSOR;
! 5327: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5328: goto yy185;
! 5329: }
! 5330: YYDEBUG(532, *YYCURSOR);
! 5331: yyleng = YYCURSOR - SCNG(yy_text);
! 5332: #line 967 "Zend/zend_language_scanner.l"
! 5333: {
! 5334: return T_SWITCH;
! 5335: }
! 5336: #line 5337 "Zend/zend_language_scanner.c"
! 5337: yy533:
! 5338: YYDEBUG(533, *YYCURSOR);
! 5339: yych = *++YYCURSOR;
! 5340: if (yych == 'T') goto yy534;
! 5341: if (yych != 't') goto yy186;
! 5342: yy534:
! 5343: YYDEBUG(534, *YYCURSOR);
! 5344: yych = *++YYCURSOR;
! 5345: if (yych == 'I') goto yy535;
! 5346: if (yych != 'i') goto yy186;
! 5347: yy535:
! 5348: YYDEBUG(535, *YYCURSOR);
! 5349: yych = *++YYCURSOR;
! 5350: if (yych == 'C') goto yy536;
! 5351: if (yych != 'c') goto yy186;
! 5352: yy536:
! 5353: YYDEBUG(536, *YYCURSOR);
! 5354: ++YYCURSOR;
! 5355: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5356: goto yy185;
! 5357: }
! 5358: YYDEBUG(537, *YYCURSOR);
! 5359: yyleng = YYCURSOR - SCNG(yy_text);
! 5360: #line 1145 "Zend/zend_language_scanner.l"
! 5361: {
! 5362: return T_STATIC;
! 5363: }
! 5364: #line 5365 "Zend/zend_language_scanner.c"
! 5365: yy538:
! 5366: YYDEBUG(538, *YYCURSOR);
! 5367: yych = *++YYCURSOR;
! 5368: if (yych == 'S') goto yy549;
! 5369: if (yych == 's') goto yy549;
! 5370: goto yy186;
! 5371: yy539:
! 5372: YYDEBUG(539, *YYCURSOR);
! 5373: yych = *++YYCURSOR;
! 5374: if (yych == 'D') goto yy547;
! 5375: if (yych == 'd') goto yy547;
! 5376: goto yy186;
! 5377: yy540:
! 5378: YYDEBUG(540, *YYCURSOR);
! 5379: yych = *++YYCURSOR;
! 5380: if (yych == 'R') goto yy543;
! 5381: if (yych == 'r') goto yy543;
! 5382: goto yy186;
! 5383: yy541:
! 5384: YYDEBUG(541, *YYCURSOR);
! 5385: ++YYCURSOR;
! 5386: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5387: goto yy185;
! 5388: }
! 5389: YYDEBUG(542, *YYCURSOR);
! 5390: yyleng = YYCURSOR - SCNG(yy_text);
! 5391: #line 963 "Zend/zend_language_scanner.l"
! 5392: {
! 5393: return T_AS;
! 5394: }
! 5395: #line 5396 "Zend/zend_language_scanner.c"
! 5396: yy543:
! 5397: YYDEBUG(543, *YYCURSOR);
! 5398: yych = *++YYCURSOR;
! 5399: if (yych == 'A') goto yy544;
! 5400: if (yych != 'a') goto yy186;
! 5401: yy544:
! 5402: YYDEBUG(544, *YYCURSOR);
! 5403: yych = *++YYCURSOR;
! 5404: if (yych == 'Y') goto yy545;
! 5405: if (yych != 'y') goto yy186;
! 5406: yy545:
! 5407: YYDEBUG(545, *YYCURSOR);
! 5408: ++YYCURSOR;
! 5409: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5410: goto yy185;
! 5411: }
! 5412: YYDEBUG(546, *YYCURSOR);
! 5413: yyleng = YYCURSOR - SCNG(yy_text);
! 5414: #line 1181 "Zend/zend_language_scanner.l"
! 5415: {
! 5416: return T_ARRAY;
! 5417: }
! 5418: #line 5419 "Zend/zend_language_scanner.c"
! 5419: yy547:
! 5420: YYDEBUG(547, *YYCURSOR);
! 5421: ++YYCURSOR;
! 5422: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5423: goto yy185;
! 5424: }
! 5425: YYDEBUG(548, *YYCURSOR);
! 5426: yyleng = YYCURSOR - SCNG(yy_text);
! 5427: #line 1273 "Zend/zend_language_scanner.l"
! 5428: {
! 5429: return T_LOGICAL_AND;
! 5430: }
! 5431: #line 5432 "Zend/zend_language_scanner.c"
! 5432: yy549:
! 5433: YYDEBUG(549, *YYCURSOR);
! 5434: yych = *++YYCURSOR;
! 5435: if (yych == 'T') goto yy550;
! 5436: if (yych != 't') goto yy186;
! 5437: yy550:
! 5438: YYDEBUG(550, *YYCURSOR);
! 5439: yych = *++YYCURSOR;
! 5440: if (yych == 'R') goto yy551;
! 5441: if (yych != 'r') goto yy186;
! 5442: yy551:
! 5443: YYDEBUG(551, *YYCURSOR);
! 5444: yych = *++YYCURSOR;
! 5445: if (yych == 'A') goto yy552;
! 5446: if (yych != 'a') goto yy186;
! 5447: yy552:
! 5448: YYDEBUG(552, *YYCURSOR);
! 5449: yych = *++YYCURSOR;
! 5450: if (yych == 'C') goto yy553;
! 5451: if (yych != 'c') goto yy186;
! 5452: yy553:
! 5453: YYDEBUG(553, *YYCURSOR);
! 5454: yych = *++YYCURSOR;
! 5455: if (yych == 'T') goto yy554;
! 5456: if (yych != 't') goto yy186;
! 5457: yy554:
! 5458: YYDEBUG(554, *YYCURSOR);
! 5459: ++YYCURSOR;
! 5460: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5461: goto yy185;
! 5462: }
! 5463: YYDEBUG(555, *YYCURSOR);
! 5464: yyleng = YYCURSOR - SCNG(yy_text);
! 5465: #line 1149 "Zend/zend_language_scanner.l"
! 5466: {
! 5467: return T_ABSTRACT;
! 5468: }
! 5469: #line 5470 "Zend/zend_language_scanner.c"
! 5470: yy556:
! 5471: YYDEBUG(556, *YYCURSOR);
! 5472: yych = *++YYCURSOR;
! 5473: if (yych == 'I') goto yy557;
! 5474: if (yych != 'i') goto yy186;
! 5475: yy557:
! 5476: YYDEBUG(557, *YYCURSOR);
! 5477: yych = *++YYCURSOR;
! 5478: if (yych == 'L') goto yy558;
! 5479: if (yych != 'l') goto yy186;
! 5480: yy558:
! 5481: YYDEBUG(558, *YYCURSOR);
! 5482: yych = *++YYCURSOR;
! 5483: if (yych == 'E') goto yy559;
! 5484: if (yych != 'e') goto yy186;
! 5485: yy559:
! 5486: YYDEBUG(559, *YYCURSOR);
! 5487: ++YYCURSOR;
! 5488: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5489: goto yy185;
! 5490: }
! 5491: YYDEBUG(560, *YYCURSOR);
! 5492: yyleng = YYCURSOR - SCNG(yy_text);
! 5493: #line 923 "Zend/zend_language_scanner.l"
! 5494: {
! 5495: return T_WHILE;
! 5496: }
! 5497: #line 5498 "Zend/zend_language_scanner.c"
! 5498: yy561:
! 5499: YYDEBUG(561, *YYCURSOR);
! 5500: ++YYCURSOR;
! 5501: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5502: goto yy185;
! 5503: }
! 5504: YYDEBUG(562, *YYCURSOR);
! 5505: yyleng = YYCURSOR - SCNG(yy_text);
! 5506: #line 907 "Zend/zend_language_scanner.l"
! 5507: {
! 5508: return T_IF;
! 5509: }
! 5510: #line 5511 "Zend/zend_language_scanner.c"
! 5511: yy563:
! 5512: YYDEBUG(563, *YYCURSOR);
! 5513: yych = *++YYCURSOR;
! 5514: if (yych == 'P') goto yy599;
! 5515: if (yych == 'p') goto yy599;
! 5516: goto yy186;
! 5517: yy564:
! 5518: YYDEBUG(564, *YYCURSOR);
! 5519: yych = *++YYCURSOR;
! 5520: if (yych <= 'T') {
! 5521: if (yych <= 'C') {
! 5522: if (yych <= 'B') goto yy186;
! 5523: goto yy572;
! 5524: } else {
! 5525: if (yych <= 'R') goto yy186;
! 5526: if (yych <= 'S') goto yy570;
! 5527: goto yy571;
! 5528: }
! 5529: } else {
! 5530: if (yych <= 'r') {
! 5531: if (yych == 'c') goto yy572;
! 5532: goto yy186;
! 5533: } else {
! 5534: if (yych <= 's') goto yy570;
! 5535: if (yych <= 't') goto yy571;
! 5536: goto yy186;
! 5537: }
! 5538: }
! 5539: yy565:
! 5540: YYDEBUG(565, *YYCURSOR);
! 5541: yych = *++YYCURSOR;
! 5542: if (yych == 'S') goto yy566;
! 5543: if (yych != 's') goto yy186;
! 5544: yy566:
! 5545: YYDEBUG(566, *YYCURSOR);
! 5546: yych = *++YYCURSOR;
! 5547: if (yych == 'E') goto yy567;
! 5548: if (yych != 'e') goto yy186;
! 5549: yy567:
! 5550: YYDEBUG(567, *YYCURSOR);
! 5551: yych = *++YYCURSOR;
! 5552: if (yych == 'T') goto yy568;
! 5553: if (yych != 't') goto yy186;
! 5554: yy568:
! 5555: YYDEBUG(568, *YYCURSOR);
! 5556: ++YYCURSOR;
! 5557: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5558: goto yy185;
! 5559: }
! 5560: YYDEBUG(569, *YYCURSOR);
! 5561: yyleng = YYCURSOR - SCNG(yy_text);
! 5562: #line 1133 "Zend/zend_language_scanner.l"
! 5563: {
! 5564: return T_ISSET;
! 5565: }
! 5566: #line 5567 "Zend/zend_language_scanner.c"
! 5567: yy570:
! 5568: YYDEBUG(570, *YYCURSOR);
! 5569: yych = *++YYCURSOR;
! 5570: if (yych == 'T') goto yy591;
! 5571: if (yych == 't') goto yy591;
! 5572: goto yy186;
! 5573: yy571:
! 5574: YYDEBUG(571, *YYCURSOR);
! 5575: yych = *++YYCURSOR;
! 5576: if (yych == 'E') goto yy584;
! 5577: if (yych == 'e') goto yy584;
! 5578: goto yy186;
! 5579: yy572:
! 5580: YYDEBUG(572, *YYCURSOR);
! 5581: yych = *++YYCURSOR;
! 5582: if (yych == 'L') goto yy573;
! 5583: if (yych != 'l') goto yy186;
! 5584: yy573:
! 5585: YYDEBUG(573, *YYCURSOR);
! 5586: yych = *++YYCURSOR;
! 5587: if (yych == 'U') goto yy574;
! 5588: if (yych != 'u') goto yy186;
! 5589: yy574:
! 5590: YYDEBUG(574, *YYCURSOR);
! 5591: yych = *++YYCURSOR;
! 5592: if (yych == 'D') goto yy575;
! 5593: if (yych != 'd') goto yy186;
! 5594: yy575:
! 5595: YYDEBUG(575, *YYCURSOR);
! 5596: yych = *++YYCURSOR;
! 5597: if (yych == 'E') goto yy576;
! 5598: if (yych != 'e') goto yy186;
! 5599: yy576:
! 5600: YYDEBUG(576, *YYCURSOR);
! 5601: ++YYCURSOR;
! 5602: if ((yych = *YYCURSOR) <= '^') {
! 5603: if (yych <= '9') {
! 5604: if (yych >= '0') goto yy185;
! 5605: } else {
! 5606: if (yych <= '@') goto yy577;
! 5607: if (yych <= 'Z') goto yy185;
! 5608: }
! 5609: } else {
! 5610: if (yych <= '`') {
! 5611: if (yych <= '_') goto yy578;
! 5612: } else {
! 5613: if (yych <= 'z') goto yy185;
! 5614: if (yych >= 0x7F) goto yy185;
! 5615: }
! 5616: }
! 5617: yy577:
! 5618: YYDEBUG(577, *YYCURSOR);
! 5619: yyleng = YYCURSOR - SCNG(yy_text);
! 5620: #line 1105 "Zend/zend_language_scanner.l"
! 5621: {
! 5622: return T_INCLUDE;
! 5623: }
! 5624: #line 5625 "Zend/zend_language_scanner.c"
! 5625: yy578:
! 5626: YYDEBUG(578, *YYCURSOR);
! 5627: yych = *++YYCURSOR;
! 5628: if (yych == 'O') goto yy579;
! 5629: if (yych != 'o') goto yy186;
! 5630: yy579:
! 5631: YYDEBUG(579, *YYCURSOR);
! 5632: yych = *++YYCURSOR;
! 5633: if (yych == 'N') goto yy580;
! 5634: if (yych != 'n') goto yy186;
! 5635: yy580:
! 5636: YYDEBUG(580, *YYCURSOR);
! 5637: yych = *++YYCURSOR;
! 5638: if (yych == 'C') goto yy581;
! 5639: if (yych != 'c') goto yy186;
! 5640: yy581:
! 5641: YYDEBUG(581, *YYCURSOR);
! 5642: yych = *++YYCURSOR;
! 5643: if (yych == 'E') goto yy582;
! 5644: if (yych != 'e') goto yy186;
! 5645: yy582:
! 5646: YYDEBUG(582, *YYCURSOR);
! 5647: ++YYCURSOR;
! 5648: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5649: goto yy185;
! 5650: }
! 5651: YYDEBUG(583, *YYCURSOR);
! 5652: yyleng = YYCURSOR - SCNG(yy_text);
! 5653: #line 1109 "Zend/zend_language_scanner.l"
! 5654: {
! 5655: return T_INCLUDE_ONCE;
! 5656: }
! 5657: #line 5658 "Zend/zend_language_scanner.c"
! 5658: yy584:
! 5659: YYDEBUG(584, *YYCURSOR);
! 5660: yych = *++YYCURSOR;
! 5661: if (yych == 'R') goto yy585;
! 5662: if (yych != 'r') goto yy186;
! 5663: yy585:
! 5664: YYDEBUG(585, *YYCURSOR);
! 5665: yych = *++YYCURSOR;
! 5666: if (yych == 'F') goto yy586;
! 5667: if (yych != 'f') goto yy186;
! 5668: yy586:
! 5669: YYDEBUG(586, *YYCURSOR);
! 5670: yych = *++YYCURSOR;
! 5671: if (yych == 'A') goto yy587;
! 5672: if (yych != 'a') goto yy186;
! 5673: yy587:
! 5674: YYDEBUG(587, *YYCURSOR);
! 5675: yych = *++YYCURSOR;
! 5676: if (yych == 'C') goto yy588;
! 5677: if (yych != 'c') goto yy186;
! 5678: yy588:
! 5679: YYDEBUG(588, *YYCURSOR);
! 5680: yych = *++YYCURSOR;
! 5681: if (yych == 'E') goto yy589;
! 5682: if (yych != 'e') goto yy186;
! 5683: yy589:
! 5684: YYDEBUG(589, *YYCURSOR);
! 5685: ++YYCURSOR;
! 5686: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5687: goto yy185;
! 5688: }
! 5689: YYDEBUG(590, *YYCURSOR);
! 5690: yyleng = YYCURSOR - SCNG(yy_text);
! 5691: #line 1007 "Zend/zend_language_scanner.l"
! 5692: {
! 5693: return T_INTERFACE;
! 5694: }
! 5695: #line 5696 "Zend/zend_language_scanner.c"
! 5696: yy591:
! 5697: YYDEBUG(591, *YYCURSOR);
! 5698: yych = *++YYCURSOR;
! 5699: if (yych == 'A') goto yy592;
! 5700: if (yych != 'a') goto yy186;
! 5701: yy592:
! 5702: YYDEBUG(592, *YYCURSOR);
! 5703: yych = *++YYCURSOR;
! 5704: if (yych == 'N') goto yy593;
! 5705: if (yych != 'n') goto yy186;
! 5706: yy593:
! 5707: YYDEBUG(593, *YYCURSOR);
! 5708: yych = *++YYCURSOR;
! 5709: if (yych == 'C') goto yy594;
! 5710: if (yych != 'c') goto yy186;
! 5711: yy594:
! 5712: YYDEBUG(594, *YYCURSOR);
! 5713: yych = *++YYCURSOR;
! 5714: if (yych == 'E') goto yy595;
! 5715: if (yych != 'e') goto yy186;
! 5716: yy595:
! 5717: YYDEBUG(595, *YYCURSOR);
! 5718: yych = *++YYCURSOR;
! 5719: if (yych == 'O') goto yy596;
! 5720: if (yych != 'o') goto yy186;
! 5721: yy596:
! 5722: YYDEBUG(596, *YYCURSOR);
! 5723: yych = *++YYCURSOR;
! 5724: if (yych == 'F') goto yy597;
! 5725: if (yych != 'f') goto yy186;
! 5726: yy597:
! 5727: YYDEBUG(597, *YYCURSOR);
! 5728: ++YYCURSOR;
! 5729: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5730: goto yy185;
! 5731: }
! 5732: YYDEBUG(598, *YYCURSOR);
! 5733: yyleng = YYCURSOR - SCNG(yy_text);
! 5734: #line 959 "Zend/zend_language_scanner.l"
! 5735: {
! 5736: return T_INSTANCEOF;
! 5737: }
! 5738: #line 5739 "Zend/zend_language_scanner.c"
! 5739: yy599:
! 5740: YYDEBUG(599, *YYCURSOR);
! 5741: yych = *++YYCURSOR;
! 5742: if (yych == 'L') goto yy600;
! 5743: if (yych != 'l') goto yy186;
! 5744: yy600:
! 5745: YYDEBUG(600, *YYCURSOR);
! 5746: yych = *++YYCURSOR;
! 5747: if (yych == 'E') goto yy601;
! 5748: if (yych != 'e') goto yy186;
! 5749: yy601:
! 5750: YYDEBUG(601, *YYCURSOR);
! 5751: yych = *++YYCURSOR;
! 5752: if (yych == 'M') goto yy602;
! 5753: if (yych != 'm') goto yy186;
! 5754: yy602:
! 5755: YYDEBUG(602, *YYCURSOR);
! 5756: yych = *++YYCURSOR;
! 5757: if (yych == 'E') goto yy603;
! 5758: if (yych != 'e') goto yy186;
! 5759: yy603:
! 5760: YYDEBUG(603, *YYCURSOR);
! 5761: yych = *++YYCURSOR;
! 5762: if (yych == 'N') goto yy604;
! 5763: if (yych != 'n') goto yy186;
! 5764: yy604:
! 5765: YYDEBUG(604, *YYCURSOR);
! 5766: yych = *++YYCURSOR;
! 5767: if (yych == 'T') goto yy605;
! 5768: if (yych != 't') goto yy186;
! 5769: yy605:
! 5770: YYDEBUG(605, *YYCURSOR);
! 5771: yych = *++YYCURSOR;
! 5772: if (yych == 'S') goto yy606;
! 5773: if (yych != 's') goto yy186;
! 5774: yy606:
! 5775: YYDEBUG(606, *YYCURSOR);
! 5776: ++YYCURSOR;
! 5777: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5778: goto yy185;
! 5779: }
! 5780: YYDEBUG(607, *YYCURSOR);
! 5781: yyleng = YYCURSOR - SCNG(yy_text);
! 5782: #line 1015 "Zend/zend_language_scanner.l"
! 5783: {
! 5784: return T_IMPLEMENTS;
! 5785: }
! 5786: #line 5787 "Zend/zend_language_scanner.c"
! 5787: yy608:
! 5788: YYDEBUG(608, *YYCURSOR);
! 5789: yych = *++YYCURSOR;
! 5790: if (yych == 'R') goto yy612;
! 5791: if (yych == 'r') goto yy612;
! 5792: goto yy186;
! 5793: yy609:
! 5794: YYDEBUG(609, *YYCURSOR);
! 5795: yych = *++YYCURSOR;
! 5796: if (yych == 'Y') goto yy610;
! 5797: if (yych != 'y') goto yy186;
! 5798: yy610:
! 5799: YYDEBUG(610, *YYCURSOR);
! 5800: ++YYCURSOR;
! 5801: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5802: goto yy185;
! 5803: }
! 5804: YYDEBUG(611, *YYCURSOR);
! 5805: yyleng = YYCURSOR - SCNG(yy_text);
! 5806: #line 895 "Zend/zend_language_scanner.l"
! 5807: {
! 5808: return T_TRY;
! 5809: }
! 5810: #line 5811 "Zend/zend_language_scanner.c"
! 5811: yy612:
! 5812: YYDEBUG(612, *YYCURSOR);
! 5813: yych = *++YYCURSOR;
! 5814: if (yych == 'O') goto yy613;
! 5815: if (yych != 'o') goto yy186;
! 5816: yy613:
! 5817: YYDEBUG(613, *YYCURSOR);
! 5818: yych = *++YYCURSOR;
! 5819: if (yych == 'W') goto yy614;
! 5820: if (yych != 'w') goto yy186;
! 5821: yy614:
! 5822: YYDEBUG(614, *YYCURSOR);
! 5823: ++YYCURSOR;
! 5824: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5825: goto yy185;
! 5826: }
! 5827: YYDEBUG(615, *YYCURSOR);
! 5828: yyleng = YYCURSOR - SCNG(yy_text);
! 5829: #line 903 "Zend/zend_language_scanner.l"
! 5830: {
! 5831: return T_THROW;
! 5832: }
! 5833: #line 5834 "Zend/zend_language_scanner.c"
! 5834: yy616:
! 5835: YYDEBUG(616, *YYCURSOR);
! 5836: yych = *++YYCURSOR;
! 5837: if (yych <= 'T') {
! 5838: if (yych == 'Q') goto yy618;
! 5839: if (yych <= 'S') goto yy186;
! 5840: } else {
! 5841: if (yych <= 'q') {
! 5842: if (yych <= 'p') goto yy186;
! 5843: goto yy618;
! 5844: } else {
! 5845: if (yych != 't') goto yy186;
! 5846: }
! 5847: }
! 5848: YYDEBUG(617, *YYCURSOR);
! 5849: yych = *++YYCURSOR;
! 5850: if (yych == 'U') goto yy630;
! 5851: if (yych == 'u') goto yy630;
! 5852: goto yy186;
! 5853: yy618:
! 5854: YYDEBUG(618, *YYCURSOR);
! 5855: yych = *++YYCURSOR;
! 5856: if (yych == 'U') goto yy619;
! 5857: if (yych != 'u') goto yy186;
! 5858: yy619:
! 5859: YYDEBUG(619, *YYCURSOR);
! 5860: yych = *++YYCURSOR;
! 5861: if (yych == 'I') goto yy620;
! 5862: if (yych != 'i') goto yy186;
! 5863: yy620:
! 5864: YYDEBUG(620, *YYCURSOR);
! 5865: yych = *++YYCURSOR;
! 5866: if (yych == 'R') goto yy621;
! 5867: if (yych != 'r') goto yy186;
! 5868: yy621:
! 5869: YYDEBUG(621, *YYCURSOR);
! 5870: yych = *++YYCURSOR;
! 5871: if (yych == 'E') goto yy622;
! 5872: if (yych != 'e') goto yy186;
! 5873: yy622:
! 5874: YYDEBUG(622, *YYCURSOR);
! 5875: ++YYCURSOR;
! 5876: if ((yych = *YYCURSOR) <= '^') {
! 5877: if (yych <= '9') {
! 5878: if (yych >= '0') goto yy185;
! 5879: } else {
! 5880: if (yych <= '@') goto yy623;
! 5881: if (yych <= 'Z') goto yy185;
! 5882: }
! 5883: } else {
! 5884: if (yych <= '`') {
! 5885: if (yych <= '_') goto yy624;
! 5886: } else {
! 5887: if (yych <= 'z') goto yy185;
! 5888: if (yych >= 0x7F) goto yy185;
! 5889: }
! 5890: }
! 5891: yy623:
! 5892: YYDEBUG(623, *YYCURSOR);
! 5893: yyleng = YYCURSOR - SCNG(yy_text);
! 5894: #line 1113 "Zend/zend_language_scanner.l"
! 5895: {
! 5896: return T_REQUIRE;
! 5897: }
! 5898: #line 5899 "Zend/zend_language_scanner.c"
! 5899: yy624:
! 5900: YYDEBUG(624, *YYCURSOR);
! 5901: yych = *++YYCURSOR;
! 5902: if (yych == 'O') goto yy625;
! 5903: if (yych != 'o') goto yy186;
! 5904: yy625:
! 5905: YYDEBUG(625, *YYCURSOR);
! 5906: yych = *++YYCURSOR;
! 5907: if (yych == 'N') goto yy626;
! 5908: if (yych != 'n') goto yy186;
! 5909: yy626:
! 5910: YYDEBUG(626, *YYCURSOR);
! 5911: yych = *++YYCURSOR;
! 5912: if (yych == 'C') goto yy627;
! 5913: if (yych != 'c') goto yy186;
! 5914: yy627:
! 5915: YYDEBUG(627, *YYCURSOR);
! 5916: yych = *++YYCURSOR;
! 5917: if (yych == 'E') goto yy628;
! 5918: if (yych != 'e') goto yy186;
! 5919: yy628:
! 5920: YYDEBUG(628, *YYCURSOR);
! 5921: ++YYCURSOR;
! 5922: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5923: goto yy185;
! 5924: }
! 5925: YYDEBUG(629, *YYCURSOR);
! 5926: yyleng = YYCURSOR - SCNG(yy_text);
! 5927: #line 1117 "Zend/zend_language_scanner.l"
! 5928: {
! 5929: return T_REQUIRE_ONCE;
! 5930: }
! 5931: #line 5932 "Zend/zend_language_scanner.c"
! 5932: yy630:
! 5933: YYDEBUG(630, *YYCURSOR);
! 5934: yych = *++YYCURSOR;
! 5935: if (yych == 'R') goto yy631;
! 5936: if (yych != 'r') goto yy186;
! 5937: yy631:
! 5938: YYDEBUG(631, *YYCURSOR);
! 5939: yych = *++YYCURSOR;
! 5940: if (yych == 'N') goto yy632;
! 5941: if (yych != 'n') goto yy186;
! 5942: yy632:
! 5943: YYDEBUG(632, *YYCURSOR);
! 5944: ++YYCURSOR;
! 5945: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 5946: goto yy185;
! 5947: }
! 5948: YYDEBUG(633, *YYCURSOR);
! 5949: yyleng = YYCURSOR - SCNG(yy_text);
! 5950: #line 891 "Zend/zend_language_scanner.l"
! 5951: {
! 5952: return T_RETURN;
! 5953: }
! 5954: #line 5955 "Zend/zend_language_scanner.c"
! 5955: yy634:
! 5956: YYDEBUG(634, *YYCURSOR);
! 5957: yych = *++YYCURSOR;
! 5958: if (yych <= 'T') {
! 5959: if (yych <= 'R') goto yy186;
! 5960: if (yych <= 'S') goto yy656;
! 5961: goto yy655;
! 5962: } else {
! 5963: if (yych <= 'r') goto yy186;
! 5964: if (yych <= 's') goto yy656;
! 5965: if (yych <= 't') goto yy655;
! 5966: goto yy186;
! 5967: }
! 5968: yy635:
! 5969: YYDEBUG(635, *YYCURSOR);
! 5970: yych = *++YYCURSOR;
! 5971: if (yych <= 'O') {
! 5972: if (yych == 'A') goto yy647;
! 5973: if (yych <= 'N') goto yy186;
! 5974: goto yy648;
! 5975: } else {
! 5976: if (yych <= 'a') {
! 5977: if (yych <= '`') goto yy186;
! 5978: goto yy647;
! 5979: } else {
! 5980: if (yych == 'o') goto yy648;
! 5981: goto yy186;
! 5982: }
! 5983: }
! 5984: yy636:
! 5985: YYDEBUG(636, *YYCURSOR);
! 5986: yych = *++YYCURSOR;
! 5987: if (yych == 'N') goto yy637;
! 5988: if (yych != 'n') goto yy186;
! 5989: yy637:
! 5990: YYDEBUG(637, *YYCURSOR);
! 5991: yych = *++YYCURSOR;
! 5992: if (yych <= 'T') {
! 5993: if (yych <= 'R') goto yy186;
! 5994: if (yych >= 'T') goto yy639;
! 5995: } else {
! 5996: if (yych <= 'r') goto yy186;
! 5997: if (yych <= 's') goto yy638;
! 5998: if (yych <= 't') goto yy639;
! 5999: goto yy186;
! 6000: }
! 6001: yy638:
! 6002: YYDEBUG(638, *YYCURSOR);
! 6003: yych = *++YYCURSOR;
! 6004: if (yych == 'T') goto yy645;
! 6005: if (yych == 't') goto yy645;
! 6006: goto yy186;
! 6007: yy639:
! 6008: YYDEBUG(639, *YYCURSOR);
! 6009: yych = *++YYCURSOR;
! 6010: if (yych == 'I') goto yy640;
! 6011: if (yych != 'i') goto yy186;
! 6012: yy640:
! 6013: YYDEBUG(640, *YYCURSOR);
! 6014: yych = *++YYCURSOR;
! 6015: if (yych == 'N') goto yy641;
! 6016: if (yych != 'n') goto yy186;
! 6017: yy641:
! 6018: YYDEBUG(641, *YYCURSOR);
! 6019: yych = *++YYCURSOR;
! 6020: if (yych == 'U') goto yy642;
! 6021: if (yych != 'u') goto yy186;
! 6022: yy642:
! 6023: YYDEBUG(642, *YYCURSOR);
! 6024: yych = *++YYCURSOR;
! 6025: if (yych == 'E') goto yy643;
! 6026: if (yych != 'e') goto yy186;
! 6027: yy643:
! 6028: YYDEBUG(643, *YYCURSOR);
! 6029: ++YYCURSOR;
! 6030: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6031: goto yy185;
! 6032: }
! 6033: YYDEBUG(644, *YYCURSOR);
! 6034: yyleng = YYCURSOR - SCNG(yy_text);
! 6035: #line 987 "Zend/zend_language_scanner.l"
! 6036: {
! 6037: return T_CONTINUE;
! 6038: }
! 6039: #line 6040 "Zend/zend_language_scanner.c"
! 6040: yy645:
! 6041: YYDEBUG(645, *YYCURSOR);
! 6042: ++YYCURSOR;
! 6043: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6044: goto yy185;
! 6045: }
! 6046: YYDEBUG(646, *YYCURSOR);
! 6047: yyleng = YYCURSOR - SCNG(yy_text);
! 6048: #line 887 "Zend/zend_language_scanner.l"
! 6049: {
! 6050: return T_CONST;
! 6051: }
! 6052: #line 6053 "Zend/zend_language_scanner.c"
! 6053: yy647:
! 6054: YYDEBUG(647, *YYCURSOR);
! 6055: yych = *++YYCURSOR;
! 6056: if (yych == 'S') goto yy652;
! 6057: if (yych == 's') goto yy652;
! 6058: goto yy186;
! 6059: yy648:
! 6060: YYDEBUG(648, *YYCURSOR);
! 6061: yych = *++YYCURSOR;
! 6062: if (yych == 'N') goto yy649;
! 6063: if (yych != 'n') goto yy186;
! 6064: yy649:
! 6065: YYDEBUG(649, *YYCURSOR);
! 6066: yych = *++YYCURSOR;
! 6067: if (yych == 'E') goto yy650;
! 6068: if (yych != 'e') goto yy186;
! 6069: yy650:
! 6070: YYDEBUG(650, *YYCURSOR);
! 6071: ++YYCURSOR;
! 6072: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6073: goto yy185;
! 6074: }
! 6075: YYDEBUG(651, *YYCURSOR);
! 6076: yyleng = YYCURSOR - SCNG(yy_text);
! 6077: #line 1061 "Zend/zend_language_scanner.l"
! 6078: {
! 6079: return T_CLONE;
! 6080: }
! 6081: #line 6082 "Zend/zend_language_scanner.c"
! 6082: yy652:
! 6083: YYDEBUG(652, *YYCURSOR);
! 6084: yych = *++YYCURSOR;
! 6085: if (yych == 'S') goto yy653;
! 6086: if (yych != 's') goto yy186;
! 6087: yy653:
! 6088: YYDEBUG(653, *YYCURSOR);
! 6089: ++YYCURSOR;
! 6090: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6091: goto yy185;
! 6092: }
! 6093: YYDEBUG(654, *YYCURSOR);
! 6094: yyleng = YYCURSOR - SCNG(yy_text);
! 6095: #line 1003 "Zend/zend_language_scanner.l"
! 6096: {
! 6097: return T_CLASS;
! 6098: }
! 6099: #line 6100 "Zend/zend_language_scanner.c"
! 6100: yy655:
! 6101: YYDEBUG(655, *YYCURSOR);
! 6102: yych = *++YYCURSOR;
! 6103: if (yych == 'C') goto yy659;
! 6104: if (yych == 'c') goto yy659;
! 6105: goto yy186;
! 6106: yy656:
! 6107: YYDEBUG(656, *YYCURSOR);
! 6108: yych = *++YYCURSOR;
! 6109: if (yych == 'E') goto yy657;
! 6110: if (yych != 'e') goto yy186;
! 6111: yy657:
! 6112: YYDEBUG(657, *YYCURSOR);
! 6113: ++YYCURSOR;
! 6114: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6115: goto yy185;
! 6116: }
! 6117: YYDEBUG(658, *YYCURSOR);
! 6118: yyleng = YYCURSOR - SCNG(yy_text);
! 6119: #line 975 "Zend/zend_language_scanner.l"
! 6120: {
! 6121: return T_CASE;
! 6122: }
! 6123: #line 6124 "Zend/zend_language_scanner.c"
! 6124: yy659:
! 6125: YYDEBUG(659, *YYCURSOR);
! 6126: yych = *++YYCURSOR;
! 6127: if (yych == 'H') goto yy660;
! 6128: if (yych != 'h') goto yy186;
! 6129: yy660:
! 6130: YYDEBUG(660, *YYCURSOR);
! 6131: ++YYCURSOR;
! 6132: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6133: goto yy185;
! 6134: }
! 6135: YYDEBUG(661, *YYCURSOR);
! 6136: yyleng = YYCURSOR - SCNG(yy_text);
! 6137: #line 899 "Zend/zend_language_scanner.l"
! 6138: {
! 6139: return T_CATCH;
! 6140: }
! 6141: #line 6142 "Zend/zend_language_scanner.c"
! 6142: yy662:
! 6143: YYDEBUG(662, *YYCURSOR);
! 6144: yych = *++YYCURSOR;
! 6145: if (yych == 'N') goto yy679;
! 6146: if (yych == 'n') goto yy679;
! 6147: goto yy186;
! 6148: yy663:
! 6149: YYDEBUG(663, *YYCURSOR);
! 6150: yych = *++YYCURSOR;
! 6151: if (yych == 'R') goto yy672;
! 6152: if (yych == 'r') goto yy672;
! 6153: goto yy186;
! 6154: yy664:
! 6155: YYDEBUG(664, *YYCURSOR);
! 6156: yych = *++YYCURSOR;
! 6157: if (yych == 'N') goto yy665;
! 6158: if (yych != 'n') goto yy186;
! 6159: yy665:
! 6160: YYDEBUG(665, *YYCURSOR);
! 6161: yych = *++YYCURSOR;
! 6162: if (yych == 'C') goto yy666;
! 6163: if (yych != 'c') goto yy186;
! 6164: yy666:
! 6165: YYDEBUG(666, *YYCURSOR);
! 6166: yych = *++YYCURSOR;
! 6167: if (yych == 'T') goto yy667;
! 6168: if (yych != 't') goto yy186;
! 6169: yy667:
! 6170: YYDEBUG(667, *YYCURSOR);
! 6171: yych = *++YYCURSOR;
! 6172: if (yych == 'I') goto yy668;
! 6173: if (yych != 'i') goto yy186;
! 6174: yy668:
! 6175: YYDEBUG(668, *YYCURSOR);
! 6176: yych = *++YYCURSOR;
! 6177: if (yych == 'O') goto yy669;
! 6178: if (yych != 'o') goto yy186;
! 6179: yy669:
! 6180: YYDEBUG(669, *YYCURSOR);
! 6181: yych = *++YYCURSOR;
! 6182: if (yych == 'N') goto yy670;
! 6183: if (yych != 'n') goto yy186;
! 6184: yy670:
! 6185: YYDEBUG(670, *YYCURSOR);
! 6186: ++YYCURSOR;
! 6187: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6188: goto yy185;
! 6189: }
! 6190: YYDEBUG(671, *YYCURSOR);
! 6191: yyleng = YYCURSOR - SCNG(yy_text);
! 6192: #line 883 "Zend/zend_language_scanner.l"
! 6193: {
! 6194: return T_FUNCTION;
! 6195: }
! 6196: #line 6197 "Zend/zend_language_scanner.c"
! 6197: yy672:
! 6198: YYDEBUG(672, *YYCURSOR);
! 6199: ++YYCURSOR;
! 6200: if ((yych = *YYCURSOR) <= '^') {
! 6201: if (yych <= '@') {
! 6202: if (yych <= '/') goto yy673;
! 6203: if (yych <= '9') goto yy185;
! 6204: } else {
! 6205: if (yych == 'E') goto yy674;
! 6206: if (yych <= 'Z') goto yy185;
! 6207: }
! 6208: } else {
! 6209: if (yych <= 'd') {
! 6210: if (yych != '`') goto yy185;
! 6211: } else {
! 6212: if (yych <= 'e') goto yy674;
! 6213: if (yych <= 'z') goto yy185;
! 6214: if (yych >= 0x7F) goto yy185;
! 6215: }
! 6216: }
! 6217: yy673:
! 6218: YYDEBUG(673, *YYCURSOR);
! 6219: yyleng = YYCURSOR - SCNG(yy_text);
! 6220: #line 935 "Zend/zend_language_scanner.l"
! 6221: {
! 6222: return T_FOR;
! 6223: }
! 6224: #line 6225 "Zend/zend_language_scanner.c"
! 6225: yy674:
! 6226: YYDEBUG(674, *YYCURSOR);
! 6227: yych = *++YYCURSOR;
! 6228: if (yych == 'A') goto yy675;
! 6229: if (yych != 'a') goto yy186;
! 6230: yy675:
! 6231: YYDEBUG(675, *YYCURSOR);
! 6232: yych = *++YYCURSOR;
! 6233: if (yych == 'C') goto yy676;
! 6234: if (yych != 'c') goto yy186;
! 6235: yy676:
! 6236: YYDEBUG(676, *YYCURSOR);
! 6237: yych = *++YYCURSOR;
! 6238: if (yych == 'H') goto yy677;
! 6239: if (yych != 'h') goto yy186;
! 6240: yy677:
! 6241: YYDEBUG(677, *YYCURSOR);
! 6242: ++YYCURSOR;
! 6243: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6244: goto yy185;
! 6245: }
! 6246: YYDEBUG(678, *YYCURSOR);
! 6247: yyleng = YYCURSOR - SCNG(yy_text);
! 6248: #line 943 "Zend/zend_language_scanner.l"
! 6249: {
! 6250: return T_FOREACH;
! 6251: }
! 6252: #line 6253 "Zend/zend_language_scanner.c"
! 6253: yy679:
! 6254: YYDEBUG(679, *YYCURSOR);
! 6255: yych = *++YYCURSOR;
! 6256: if (yych == 'A') goto yy680;
! 6257: if (yych != 'a') goto yy186;
! 6258: yy680:
! 6259: YYDEBUG(680, *YYCURSOR);
! 6260: yych = *++YYCURSOR;
! 6261: if (yych == 'L') goto yy681;
! 6262: if (yych != 'l') goto yy186;
! 6263: yy681:
! 6264: YYDEBUG(681, *YYCURSOR);
! 6265: ++YYCURSOR;
! 6266: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6267: goto yy185;
! 6268: }
! 6269: YYDEBUG(682, *YYCURSOR);
! 6270: yyleng = YYCURSOR - SCNG(yy_text);
! 6271: #line 1153 "Zend/zend_language_scanner.l"
! 6272: {
! 6273: return T_FINAL;
! 6274: }
! 6275: #line 6276 "Zend/zend_language_scanner.c"
! 6276: yy683:
! 6277: YYDEBUG(683, *YYCURSOR);
! 6278: yych = *++YYCURSOR;
! 6279: if (yych <= 'F') {
! 6280: if (yych == 'C') goto yy689;
! 6281: if (yych <= 'E') goto yy186;
! 6282: goto yy690;
! 6283: } else {
! 6284: if (yych <= 'c') {
! 6285: if (yych <= 'b') goto yy186;
! 6286: goto yy689;
! 6287: } else {
! 6288: if (yych == 'f') goto yy690;
! 6289: goto yy186;
! 6290: }
! 6291: }
! 6292: yy684:
! 6293: YYDEBUG(684, *YYCURSOR);
! 6294: yych = *++YYCURSOR;
! 6295: if (yych == 'E') goto yy687;
! 6296: if (yych == 'e') goto yy687;
! 6297: goto yy186;
! 6298: yy685:
! 6299: YYDEBUG(685, *YYCURSOR);
! 6300: ++YYCURSOR;
! 6301: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6302: goto yy185;
! 6303: }
! 6304: YYDEBUG(686, *YYCURSOR);
! 6305: yyleng = YYCURSOR - SCNG(yy_text);
! 6306: #line 931 "Zend/zend_language_scanner.l"
! 6307: {
! 6308: return T_DO;
! 6309: }
! 6310: #line 6311 "Zend/zend_language_scanner.c"
! 6311: yy687:
! 6312: YYDEBUG(687, *YYCURSOR);
! 6313: ++YYCURSOR;
! 6314: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6315: goto yy185;
! 6316: }
! 6317: YYDEBUG(688, *YYCURSOR);
! 6318: yyleng = YYCURSOR - SCNG(yy_text);
! 6319: #line 879 "Zend/zend_language_scanner.l"
! 6320: {
! 6321: return T_EXIT;
! 6322: }
! 6323: #line 6324 "Zend/zend_language_scanner.c"
! 6324: yy689:
! 6325: YYDEBUG(689, *YYCURSOR);
! 6326: yych = *++YYCURSOR;
! 6327: if (yych == 'L') goto yy696;
! 6328: if (yych == 'l') goto yy696;
! 6329: goto yy186;
! 6330: yy690:
! 6331: YYDEBUG(690, *YYCURSOR);
! 6332: yych = *++YYCURSOR;
! 6333: if (yych == 'A') goto yy691;
! 6334: if (yych != 'a') goto yy186;
! 6335: yy691:
! 6336: YYDEBUG(691, *YYCURSOR);
! 6337: yych = *++YYCURSOR;
! 6338: if (yych == 'U') goto yy692;
! 6339: if (yych != 'u') goto yy186;
! 6340: yy692:
! 6341: YYDEBUG(692, *YYCURSOR);
! 6342: yych = *++YYCURSOR;
! 6343: if (yych == 'L') goto yy693;
! 6344: if (yych != 'l') goto yy186;
! 6345: yy693:
! 6346: YYDEBUG(693, *YYCURSOR);
! 6347: yych = *++YYCURSOR;
! 6348: if (yych == 'T') goto yy694;
! 6349: if (yych != 't') goto yy186;
! 6350: yy694:
! 6351: YYDEBUG(694, *YYCURSOR);
! 6352: ++YYCURSOR;
! 6353: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6354: goto yy185;
! 6355: }
! 6356: YYDEBUG(695, *YYCURSOR);
! 6357: yyleng = YYCURSOR - SCNG(yy_text);
! 6358: #line 979 "Zend/zend_language_scanner.l"
! 6359: {
! 6360: return T_DEFAULT;
! 6361: }
! 6362: #line 6363 "Zend/zend_language_scanner.c"
! 6363: yy696:
! 6364: YYDEBUG(696, *YYCURSOR);
! 6365: yych = *++YYCURSOR;
! 6366: if (yych == 'A') goto yy697;
! 6367: if (yych != 'a') goto yy186;
! 6368: yy697:
! 6369: YYDEBUG(697, *YYCURSOR);
! 6370: yych = *++YYCURSOR;
! 6371: if (yych == 'R') goto yy698;
! 6372: if (yych != 'r') goto yy186;
! 6373: yy698:
! 6374: YYDEBUG(698, *YYCURSOR);
! 6375: yych = *++YYCURSOR;
! 6376: if (yych == 'E') goto yy699;
! 6377: if (yych != 'e') goto yy186;
! 6378: yy699:
! 6379: YYDEBUG(699, *YYCURSOR);
! 6380: ++YYCURSOR;
! 6381: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6382: goto yy185;
! 6383: }
! 6384: YYDEBUG(700, *YYCURSOR);
! 6385: yyleng = YYCURSOR - SCNG(yy_text);
! 6386: #line 951 "Zend/zend_language_scanner.l"
! 6387: {
! 6388: return T_DECLARE;
! 6389: }
! 6390: #line 6391 "Zend/zend_language_scanner.c"
! 6391: yy701:
! 6392: YYDEBUG(701, *YYCURSOR);
! 6393: yych = *++YYCURSOR;
! 6394: if (yych == 'H') goto yy763;
! 6395: if (yych == 'h') goto yy763;
! 6396: goto yy186;
! 6397: yy702:
! 6398: YYDEBUG(702, *YYCURSOR);
! 6399: yych = *++YYCURSOR;
! 6400: if (yych == 'S') goto yy757;
! 6401: if (yych == 's') goto yy757;
! 6402: goto yy186;
! 6403: yy703:
! 6404: YYDEBUG(703, *YYCURSOR);
! 6405: yych = *++YYCURSOR;
! 6406: if (yych == 'P') goto yy753;
! 6407: if (yych == 'p') goto yy753;
! 6408: goto yy186;
! 6409: yy704:
! 6410: YYDEBUG(704, *YYCURSOR);
! 6411: yych = *++YYCURSOR;
! 6412: if (yych == 'D') goto yy719;
! 6413: if (yych == 'd') goto yy719;
! 6414: goto yy186;
! 6415: yy705:
! 6416: YYDEBUG(705, *YYCURSOR);
! 6417: yych = *++YYCURSOR;
! 6418: if (yych == 'A') goto yy716;
! 6419: if (yych == 'a') goto yy716;
! 6420: goto yy186;
! 6421: yy706:
! 6422: YYDEBUG(706, *YYCURSOR);
! 6423: yych = *++YYCURSOR;
! 6424: if (yych <= 'T') {
! 6425: if (yych == 'I') goto yy707;
! 6426: if (yych <= 'S') goto yy186;
! 6427: goto yy708;
! 6428: } else {
! 6429: if (yych <= 'i') {
! 6430: if (yych <= 'h') goto yy186;
! 6431: } else {
! 6432: if (yych == 't') goto yy708;
! 6433: goto yy186;
! 6434: }
! 6435: }
! 6436: yy707:
! 6437: YYDEBUG(707, *YYCURSOR);
! 6438: yych = *++YYCURSOR;
! 6439: if (yych == 'T') goto yy714;
! 6440: if (yych == 't') goto yy714;
! 6441: goto yy186;
! 6442: yy708:
! 6443: YYDEBUG(708, *YYCURSOR);
! 6444: yych = *++YYCURSOR;
! 6445: if (yych == 'E') goto yy709;
! 6446: if (yych != 'e') goto yy186;
! 6447: yy709:
! 6448: YYDEBUG(709, *YYCURSOR);
! 6449: yych = *++YYCURSOR;
! 6450: if (yych == 'N') goto yy710;
! 6451: if (yych != 'n') goto yy186;
! 6452: yy710:
! 6453: YYDEBUG(710, *YYCURSOR);
! 6454: yych = *++YYCURSOR;
! 6455: if (yych == 'D') goto yy711;
! 6456: if (yych != 'd') goto yy186;
! 6457: yy711:
! 6458: YYDEBUG(711, *YYCURSOR);
! 6459: yych = *++YYCURSOR;
! 6460: if (yych == 'S') goto yy712;
! 6461: if (yych != 's') goto yy186;
! 6462: yy712:
! 6463: YYDEBUG(712, *YYCURSOR);
! 6464: ++YYCURSOR;
! 6465: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6466: goto yy185;
! 6467: }
! 6468: YYDEBUG(713, *YYCURSOR);
! 6469: yyleng = YYCURSOR - SCNG(yy_text);
! 6470: #line 1011 "Zend/zend_language_scanner.l"
! 6471: {
! 6472: return T_EXTENDS;
! 6473: }
! 6474: #line 6475 "Zend/zend_language_scanner.c"
! 6475: yy714:
! 6476: YYDEBUG(714, *YYCURSOR);
! 6477: ++YYCURSOR;
! 6478: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6479: goto yy185;
! 6480: }
! 6481: YYDEBUG(715, *YYCURSOR);
! 6482: yyleng = YYCURSOR - SCNG(yy_text);
! 6483: #line 875 "Zend/zend_language_scanner.l"
! 6484: {
! 6485: return T_EXIT;
! 6486: }
! 6487: #line 6488 "Zend/zend_language_scanner.c"
! 6488: yy716:
! 6489: YYDEBUG(716, *YYCURSOR);
! 6490: yych = *++YYCURSOR;
! 6491: if (yych == 'L') goto yy717;
! 6492: if (yych != 'l') goto yy186;
! 6493: yy717:
! 6494: YYDEBUG(717, *YYCURSOR);
! 6495: ++YYCURSOR;
! 6496: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6497: goto yy185;
! 6498: }
! 6499: YYDEBUG(718, *YYCURSOR);
! 6500: yyleng = YYCURSOR - SCNG(yy_text);
! 6501: #line 1101 "Zend/zend_language_scanner.l"
! 6502: {
! 6503: return T_EVAL;
! 6504: }
! 6505: #line 6506 "Zend/zend_language_scanner.c"
! 6506: yy719:
! 6507: YYDEBUG(719, *YYCURSOR);
! 6508: yych = *++YYCURSOR;
! 6509: YYDEBUG(-1, yych);
! 6510: switch (yych) {
! 6511: case 'D':
! 6512: case 'd': goto yy720;
! 6513: case 'F':
! 6514: case 'f': goto yy721;
! 6515: case 'I':
! 6516: case 'i': goto yy722;
! 6517: case 'S':
! 6518: case 's': goto yy723;
! 6519: case 'W':
! 6520: case 'w': goto yy724;
! 6521: default: goto yy186;
! 6522: }
! 6523: yy720:
! 6524: YYDEBUG(720, *YYCURSOR);
! 6525: yych = *++YYCURSOR;
! 6526: if (yych == 'E') goto yy746;
! 6527: if (yych == 'e') goto yy746;
! 6528: goto yy186;
! 6529: yy721:
! 6530: YYDEBUG(721, *YYCURSOR);
! 6531: yych = *++YYCURSOR;
! 6532: if (yych == 'O') goto yy738;
! 6533: if (yych == 'o') goto yy738;
! 6534: goto yy186;
! 6535: yy722:
! 6536: YYDEBUG(722, *YYCURSOR);
! 6537: yych = *++YYCURSOR;
! 6538: if (yych == 'F') goto yy736;
! 6539: if (yych == 'f') goto yy736;
! 6540: goto yy186;
! 6541: yy723:
! 6542: YYDEBUG(723, *YYCURSOR);
! 6543: yych = *++YYCURSOR;
! 6544: if (yych == 'W') goto yy730;
! 6545: if (yych == 'w') goto yy730;
! 6546: goto yy186;
! 6547: yy724:
! 6548: YYDEBUG(724, *YYCURSOR);
! 6549: yych = *++YYCURSOR;
! 6550: if (yych == 'H') goto yy725;
! 6551: if (yych != 'h') goto yy186;
! 6552: yy725:
! 6553: YYDEBUG(725, *YYCURSOR);
! 6554: yych = *++YYCURSOR;
! 6555: if (yych == 'I') goto yy726;
! 6556: if (yych != 'i') goto yy186;
! 6557: yy726:
! 6558: YYDEBUG(726, *YYCURSOR);
! 6559: yych = *++YYCURSOR;
! 6560: if (yych == 'L') goto yy727;
! 6561: if (yych != 'l') goto yy186;
! 6562: yy727:
! 6563: YYDEBUG(727, *YYCURSOR);
! 6564: yych = *++YYCURSOR;
! 6565: if (yych == 'E') goto yy728;
! 6566: if (yych != 'e') goto yy186;
! 6567: yy728:
! 6568: YYDEBUG(728, *YYCURSOR);
! 6569: ++YYCURSOR;
! 6570: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6571: goto yy185;
! 6572: }
! 6573: YYDEBUG(729, *YYCURSOR);
! 6574: yyleng = YYCURSOR - SCNG(yy_text);
! 6575: #line 927 "Zend/zend_language_scanner.l"
! 6576: {
! 6577: return T_ENDWHILE;
! 6578: }
! 6579: #line 6580 "Zend/zend_language_scanner.c"
! 6580: yy730:
! 6581: YYDEBUG(730, *YYCURSOR);
! 6582: yych = *++YYCURSOR;
! 6583: if (yych == 'I') goto yy731;
! 6584: if (yych != 'i') goto yy186;
! 6585: yy731:
! 6586: YYDEBUG(731, *YYCURSOR);
! 6587: yych = *++YYCURSOR;
! 6588: if (yych == 'T') goto yy732;
! 6589: if (yych != 't') goto yy186;
! 6590: yy732:
! 6591: YYDEBUG(732, *YYCURSOR);
! 6592: yych = *++YYCURSOR;
! 6593: if (yych == 'C') goto yy733;
! 6594: if (yych != 'c') goto yy186;
! 6595: yy733:
! 6596: YYDEBUG(733, *YYCURSOR);
! 6597: yych = *++YYCURSOR;
! 6598: if (yych == 'H') goto yy734;
! 6599: if (yych != 'h') goto yy186;
! 6600: yy734:
! 6601: YYDEBUG(734, *YYCURSOR);
! 6602: ++YYCURSOR;
! 6603: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6604: goto yy185;
! 6605: }
! 6606: YYDEBUG(735, *YYCURSOR);
! 6607: yyleng = YYCURSOR - SCNG(yy_text);
! 6608: #line 971 "Zend/zend_language_scanner.l"
! 6609: {
! 6610: return T_ENDSWITCH;
! 6611: }
! 6612: #line 6613 "Zend/zend_language_scanner.c"
! 6613: yy736:
! 6614: YYDEBUG(736, *YYCURSOR);
! 6615: ++YYCURSOR;
! 6616: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6617: goto yy185;
! 6618: }
! 6619: YYDEBUG(737, *YYCURSOR);
! 6620: yyleng = YYCURSOR - SCNG(yy_text);
! 6621: #line 915 "Zend/zend_language_scanner.l"
! 6622: {
! 6623: return T_ENDIF;
! 6624: }
! 6625: #line 6626 "Zend/zend_language_scanner.c"
! 6626: yy738:
! 6627: YYDEBUG(738, *YYCURSOR);
! 6628: yych = *++YYCURSOR;
! 6629: if (yych == 'R') goto yy739;
! 6630: if (yych != 'r') goto yy186;
! 6631: yy739:
! 6632: YYDEBUG(739, *YYCURSOR);
! 6633: ++YYCURSOR;
! 6634: if ((yych = *YYCURSOR) <= '^') {
! 6635: if (yych <= '@') {
! 6636: if (yych <= '/') goto yy740;
! 6637: if (yych <= '9') goto yy185;
! 6638: } else {
! 6639: if (yych == 'E') goto yy741;
! 6640: if (yych <= 'Z') goto yy185;
! 6641: }
! 6642: } else {
! 6643: if (yych <= 'd') {
! 6644: if (yych != '`') goto yy185;
! 6645: } else {
! 6646: if (yych <= 'e') goto yy741;
! 6647: if (yych <= 'z') goto yy185;
! 6648: if (yych >= 0x7F) goto yy185;
! 6649: }
! 6650: }
! 6651: yy740:
! 6652: YYDEBUG(740, *YYCURSOR);
! 6653: yyleng = YYCURSOR - SCNG(yy_text);
! 6654: #line 939 "Zend/zend_language_scanner.l"
! 6655: {
! 6656: return T_ENDFOR;
! 6657: }
! 6658: #line 6659 "Zend/zend_language_scanner.c"
! 6659: yy741:
! 6660: YYDEBUG(741, *YYCURSOR);
! 6661: yych = *++YYCURSOR;
! 6662: if (yych == 'A') goto yy742;
! 6663: if (yych != 'a') goto yy186;
! 6664: yy742:
! 6665: YYDEBUG(742, *YYCURSOR);
! 6666: yych = *++YYCURSOR;
! 6667: if (yych == 'C') goto yy743;
! 6668: if (yych != 'c') goto yy186;
! 6669: yy743:
! 6670: YYDEBUG(743, *YYCURSOR);
! 6671: yych = *++YYCURSOR;
! 6672: if (yych == 'H') goto yy744;
! 6673: if (yych != 'h') goto yy186;
! 6674: yy744:
! 6675: YYDEBUG(744, *YYCURSOR);
! 6676: ++YYCURSOR;
! 6677: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6678: goto yy185;
! 6679: }
! 6680: YYDEBUG(745, *YYCURSOR);
! 6681: yyleng = YYCURSOR - SCNG(yy_text);
! 6682: #line 947 "Zend/zend_language_scanner.l"
! 6683: {
! 6684: return T_ENDFOREACH;
! 6685: }
! 6686: #line 6687 "Zend/zend_language_scanner.c"
! 6687: yy746:
! 6688: YYDEBUG(746, *YYCURSOR);
! 6689: yych = *++YYCURSOR;
! 6690: if (yych == 'C') goto yy747;
! 6691: if (yych != 'c') goto yy186;
! 6692: yy747:
! 6693: YYDEBUG(747, *YYCURSOR);
! 6694: yych = *++YYCURSOR;
! 6695: if (yych == 'L') goto yy748;
! 6696: if (yych != 'l') goto yy186;
! 6697: yy748:
! 6698: YYDEBUG(748, *YYCURSOR);
! 6699: yych = *++YYCURSOR;
! 6700: if (yych == 'A') goto yy749;
! 6701: if (yych != 'a') goto yy186;
! 6702: yy749:
! 6703: YYDEBUG(749, *YYCURSOR);
! 6704: yych = *++YYCURSOR;
! 6705: if (yych == 'R') goto yy750;
! 6706: if (yych != 'r') goto yy186;
! 6707: yy750:
! 6708: YYDEBUG(750, *YYCURSOR);
! 6709: yych = *++YYCURSOR;
! 6710: if (yych == 'E') goto yy751;
! 6711: if (yych != 'e') goto yy186;
! 6712: yy751:
! 6713: YYDEBUG(751, *YYCURSOR);
! 6714: ++YYCURSOR;
! 6715: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6716: goto yy185;
! 6717: }
! 6718: YYDEBUG(752, *YYCURSOR);
! 6719: yyleng = YYCURSOR - SCNG(yy_text);
! 6720: #line 955 "Zend/zend_language_scanner.l"
! 6721: {
! 6722: return T_ENDDECLARE;
! 6723: }
! 6724: #line 6725 "Zend/zend_language_scanner.c"
! 6725: yy753:
! 6726: YYDEBUG(753, *YYCURSOR);
! 6727: yych = *++YYCURSOR;
! 6728: if (yych == 'T') goto yy754;
! 6729: if (yych != 't') goto yy186;
! 6730: yy754:
! 6731: YYDEBUG(754, *YYCURSOR);
! 6732: yych = *++YYCURSOR;
! 6733: if (yych == 'Y') goto yy755;
! 6734: if (yych != 'y') goto yy186;
! 6735: yy755:
! 6736: YYDEBUG(755, *YYCURSOR);
! 6737: ++YYCURSOR;
! 6738: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6739: goto yy185;
! 6740: }
! 6741: YYDEBUG(756, *YYCURSOR);
! 6742: yyleng = YYCURSOR - SCNG(yy_text);
! 6743: #line 1137 "Zend/zend_language_scanner.l"
! 6744: {
! 6745: return T_EMPTY;
! 6746: }
! 6747: #line 6748 "Zend/zend_language_scanner.c"
! 6748: yy757:
! 6749: YYDEBUG(757, *YYCURSOR);
! 6750: yych = *++YYCURSOR;
! 6751: if (yych == 'E') goto yy758;
! 6752: if (yych != 'e') goto yy186;
! 6753: yy758:
! 6754: YYDEBUG(758, *YYCURSOR);
! 6755: ++YYCURSOR;
! 6756: if ((yych = *YYCURSOR) <= '^') {
! 6757: if (yych <= '@') {
! 6758: if (yych <= '/') goto yy759;
! 6759: if (yych <= '9') goto yy185;
! 6760: } else {
! 6761: if (yych == 'I') goto yy760;
! 6762: if (yych <= 'Z') goto yy185;
! 6763: }
! 6764: } else {
! 6765: if (yych <= 'h') {
! 6766: if (yych != '`') goto yy185;
! 6767: } else {
! 6768: if (yych <= 'i') goto yy760;
! 6769: if (yych <= 'z') goto yy185;
! 6770: if (yych >= 0x7F) goto yy185;
! 6771: }
! 6772: }
! 6773: yy759:
! 6774: YYDEBUG(759, *YYCURSOR);
! 6775: yyleng = YYCURSOR - SCNG(yy_text);
! 6776: #line 919 "Zend/zend_language_scanner.l"
! 6777: {
! 6778: return T_ELSE;
! 6779: }
! 6780: #line 6781 "Zend/zend_language_scanner.c"
! 6781: yy760:
! 6782: YYDEBUG(760, *YYCURSOR);
! 6783: yych = *++YYCURSOR;
! 6784: if (yych == 'F') goto yy761;
! 6785: if (yych != 'f') goto yy186;
! 6786: yy761:
! 6787: YYDEBUG(761, *YYCURSOR);
! 6788: ++YYCURSOR;
! 6789: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6790: goto yy185;
! 6791: }
! 6792: YYDEBUG(762, *YYCURSOR);
! 6793: yyleng = YYCURSOR - SCNG(yy_text);
! 6794: #line 911 "Zend/zend_language_scanner.l"
! 6795: {
! 6796: return T_ELSEIF;
! 6797: }
! 6798: #line 6799 "Zend/zend_language_scanner.c"
! 6799: yy763:
! 6800: YYDEBUG(763, *YYCURSOR);
! 6801: yych = *++YYCURSOR;
! 6802: if (yych == 'O') goto yy764;
! 6803: if (yych != 'o') goto yy186;
! 6804: yy764:
! 6805: YYDEBUG(764, *YYCURSOR);
! 6806: ++YYCURSOR;
! 6807: if (yybm[0+(yych = *YYCURSOR)] & 8) {
! 6808: goto yy185;
! 6809: }
! 6810: YYDEBUG(765, *YYCURSOR);
! 6811: yyleng = YYCURSOR - SCNG(yy_text);
! 6812: #line 995 "Zend/zend_language_scanner.l"
! 6813: {
! 6814: return T_ECHO;
! 6815: }
! 6816: #line 6817 "Zend/zend_language_scanner.c"
! 6817: }
! 6818: /* *********************************** */
! 6819: yyc_ST_LOOKING_FOR_PROPERTY:
! 6820: {
! 6821: static const unsigned char yybm[] = {
! 6822: 0, 0, 0, 0, 0, 0, 0, 0,
! 6823: 0, 128, 128, 0, 0, 128, 0, 0,
! 6824: 0, 0, 0, 0, 0, 0, 0, 0,
! 6825: 0, 0, 0, 0, 0, 0, 0, 0,
! 6826: 128, 0, 0, 0, 0, 0, 0, 0,
! 6827: 0, 0, 0, 0, 0, 0, 0, 0,
! 6828: 64, 64, 64, 64, 64, 64, 64, 64,
! 6829: 64, 64, 0, 0, 0, 0, 0, 0,
! 6830: 0, 64, 64, 64, 64, 64, 64, 64,
! 6831: 64, 64, 64, 64, 64, 64, 64, 64,
! 6832: 64, 64, 64, 64, 64, 64, 64, 64,
! 6833: 64, 64, 64, 0, 0, 0, 0, 64,
! 6834: 0, 64, 64, 64, 64, 64, 64, 64,
! 6835: 64, 64, 64, 64, 64, 64, 64, 64,
! 6836: 64, 64, 64, 64, 64, 64, 64, 64,
! 6837: 64, 64, 64, 0, 0, 0, 0, 64,
! 6838: 64, 64, 64, 64, 64, 64, 64, 64,
! 6839: 64, 64, 64, 64, 64, 64, 64, 64,
! 6840: 64, 64, 64, 64, 64, 64, 64, 64,
! 6841: 64, 64, 64, 64, 64, 64, 64, 64,
! 6842: 64, 64, 64, 64, 64, 64, 64, 64,
! 6843: 64, 64, 64, 64, 64, 64, 64, 64,
! 6844: 64, 64, 64, 64, 64, 64, 64, 64,
! 6845: 64, 64, 64, 64, 64, 64, 64, 64,
! 6846: 64, 64, 64, 64, 64, 64, 64, 64,
! 6847: 64, 64, 64, 64, 64, 64, 64, 64,
! 6848: 64, 64, 64, 64, 64, 64, 64, 64,
! 6849: 64, 64, 64, 64, 64, 64, 64, 64,
! 6850: 64, 64, 64, 64, 64, 64, 64, 64,
! 6851: 64, 64, 64, 64, 64, 64, 64, 64,
! 6852: 64, 64, 64, 64, 64, 64, 64, 64,
! 6853: 64, 64, 64, 64, 64, 64, 64, 64,
! 6854: };
! 6855: YYDEBUG(766, *YYCURSOR);
! 6856: YYFILL(2);
! 6857: yych = *YYCURSOR;
! 6858: if (yych <= '-') {
! 6859: if (yych <= '\r') {
! 6860: if (yych <= 0x08) goto yy774;
! 6861: if (yych <= '\n') goto yy768;
! 6862: if (yych <= '\f') goto yy774;
! 6863: } else {
! 6864: if (yych == ' ') goto yy768;
! 6865: if (yych <= ',') goto yy774;
! 6866: goto yy770;
! 6867: }
! 6868: } else {
! 6869: if (yych <= '_') {
! 6870: if (yych <= '@') goto yy774;
! 6871: if (yych <= 'Z') goto yy772;
! 6872: if (yych <= '^') goto yy774;
! 6873: goto yy772;
! 6874: } else {
! 6875: if (yych <= '`') goto yy774;
! 6876: if (yych <= 'z') goto yy772;
! 6877: if (yych <= '~') goto yy774;
! 6878: goto yy772;
! 6879: }
! 6880: }
! 6881: yy768:
! 6882: YYDEBUG(768, *YYCURSOR);
! 6883: ++YYCURSOR;
! 6884: yych = *YYCURSOR;
! 6885: goto yy780;
! 6886: yy769:
! 6887: YYDEBUG(769, *YYCURSOR);
! 6888: yyleng = YYCURSOR - SCNG(yy_text);
! 6889: #line 1024 "Zend/zend_language_scanner.l"
! 6890: {
! 6891: zendlval->value.str.val = yytext; /* no copying - intentional */
! 6892: zendlval->value.str.len = yyleng;
! 6893: zendlval->type = IS_STRING;
! 6894: HANDLE_NEWLINES(yytext, yyleng);
! 6895: return T_WHITESPACE;
! 6896: }
! 6897: #line 6898 "Zend/zend_language_scanner.c"
! 6898: yy770:
! 6899: YYDEBUG(770, *YYCURSOR);
! 6900: ++YYCURSOR;
! 6901: if ((yych = *YYCURSOR) == '>') goto yy777;
! 6902: yy771:
! 6903: YYDEBUG(771, *YYCURSOR);
! 6904: yyleng = YYCURSOR - SCNG(yy_text);
! 6905: #line 1043 "Zend/zend_language_scanner.l"
! 6906: {
! 6907: yyless(0);
! 6908: yy_pop_state(TSRMLS_C);
! 6909: goto restart;
! 6910: }
! 6911: #line 6912 "Zend/zend_language_scanner.c"
! 6912: yy772:
! 6913: YYDEBUG(772, *YYCURSOR);
! 6914: ++YYCURSOR;
! 6915: yych = *YYCURSOR;
! 6916: goto yy776;
! 6917: yy773:
! 6918: YYDEBUG(773, *YYCURSOR);
! 6919: yyleng = YYCURSOR - SCNG(yy_text);
! 6920: #line 1036 "Zend/zend_language_scanner.l"
! 6921: {
! 6922: yy_pop_state(TSRMLS_C);
! 6923: zend_copy_value(zendlval, yytext, yyleng);
! 6924: zendlval->type = IS_STRING;
! 6925: return T_STRING;
! 6926: }
! 6927: #line 6928 "Zend/zend_language_scanner.c"
! 6928: yy774:
! 6929: YYDEBUG(774, *YYCURSOR);
! 6930: yych = *++YYCURSOR;
! 6931: goto yy771;
! 6932: yy775:
! 6933: YYDEBUG(775, *YYCURSOR);
! 6934: ++YYCURSOR;
! 6935: YYFILL(1);
! 6936: yych = *YYCURSOR;
! 6937: yy776:
! 6938: YYDEBUG(776, *YYCURSOR);
! 6939: if (yybm[0+yych] & 64) {
! 6940: goto yy775;
! 6941: }
! 6942: goto yy773;
! 6943: yy777:
! 6944: YYDEBUG(777, *YYCURSOR);
! 6945: ++YYCURSOR;
! 6946: YYDEBUG(778, *YYCURSOR);
! 6947: yyleng = YYCURSOR - SCNG(yy_text);
! 6948: #line 1032 "Zend/zend_language_scanner.l"
! 6949: {
! 6950: return T_OBJECT_OPERATOR;
! 6951: }
! 6952: #line 6953 "Zend/zend_language_scanner.c"
! 6953: yy779:
! 6954: YYDEBUG(779, *YYCURSOR);
! 6955: ++YYCURSOR;
! 6956: YYFILL(1);
! 6957: yych = *YYCURSOR;
! 6958: yy780:
! 6959: YYDEBUG(780, *YYCURSOR);
! 6960: if (yybm[0+yych] & 128) {
! 6961: goto yy779;
! 6962: }
! 6963: goto yy769;
! 6964: }
! 6965: /* *********************************** */
! 6966: yyc_ST_LOOKING_FOR_VARNAME:
! 6967: {
! 6968: static const unsigned char yybm[] = {
! 6969: 0, 0, 0, 0, 0, 0, 0, 0,
! 6970: 0, 0, 0, 0, 0, 0, 0, 0,
! 6971: 0, 0, 0, 0, 0, 0, 0, 0,
! 6972: 0, 0, 0, 0, 0, 0, 0, 0,
! 6973: 0, 0, 0, 0, 0, 0, 0, 0,
! 6974: 0, 0, 0, 0, 0, 0, 0, 0,
! 6975: 128, 128, 128, 128, 128, 128, 128, 128,
! 6976: 128, 128, 0, 0, 0, 0, 0, 0,
! 6977: 0, 128, 128, 128, 128, 128, 128, 128,
! 6978: 128, 128, 128, 128, 128, 128, 128, 128,
! 6979: 128, 128, 128, 128, 128, 128, 128, 128,
! 6980: 128, 128, 128, 0, 0, 0, 0, 128,
! 6981: 0, 128, 128, 128, 128, 128, 128, 128,
! 6982: 128, 128, 128, 128, 128, 128, 128, 128,
! 6983: 128, 128, 128, 128, 128, 128, 128, 128,
! 6984: 128, 128, 128, 0, 0, 0, 0, 128,
! 6985: 128, 128, 128, 128, 128, 128, 128, 128,
! 6986: 128, 128, 128, 128, 128, 128, 128, 128,
! 6987: 128, 128, 128, 128, 128, 128, 128, 128,
! 6988: 128, 128, 128, 128, 128, 128, 128, 128,
! 6989: 128, 128, 128, 128, 128, 128, 128, 128,
! 6990: 128, 128, 128, 128, 128, 128, 128, 128,
! 6991: 128, 128, 128, 128, 128, 128, 128, 128,
! 6992: 128, 128, 128, 128, 128, 128, 128, 128,
! 6993: 128, 128, 128, 128, 128, 128, 128, 128,
! 6994: 128, 128, 128, 128, 128, 128, 128, 128,
! 6995: 128, 128, 128, 128, 128, 128, 128, 128,
! 6996: 128, 128, 128, 128, 128, 128, 128, 128,
! 6997: 128, 128, 128, 128, 128, 128, 128, 128,
! 6998: 128, 128, 128, 128, 128, 128, 128, 128,
! 6999: 128, 128, 128, 128, 128, 128, 128, 128,
! 7000: 128, 128, 128, 128, 128, 128, 128, 128,
! 7001: };
! 7002: YYDEBUG(781, *YYCURSOR);
! 7003: YYFILL(2);
! 7004: yych = *YYCURSOR;
! 7005: if (yych <= '_') {
! 7006: if (yych <= '@') goto yy785;
! 7007: if (yych <= 'Z') goto yy783;
! 7008: if (yych <= '^') goto yy785;
! 7009: } else {
! 7010: if (yych <= '`') goto yy785;
! 7011: if (yych <= 'z') goto yy783;
! 7012: if (yych <= '~') goto yy785;
! 7013: }
! 7014: yy783:
! 7015: YYDEBUG(783, *YYCURSOR);
! 7016: ++YYCURSOR;
! 7017: yych = *YYCURSOR;
! 7018: goto yy788;
! 7019: yy784:
! 7020: YYDEBUG(784, *YYCURSOR);
! 7021: yyleng = YYCURSOR - SCNG(yy_text);
! 7022: #line 1315 "Zend/zend_language_scanner.l"
! 7023: {
! 7024: zend_copy_value(zendlval, yytext, yyleng);
! 7025: zendlval->type = IS_STRING;
! 7026: yy_pop_state(TSRMLS_C);
! 7027: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 7028: return T_STRING_VARNAME;
! 7029: }
! 7030: #line 7031 "Zend/zend_language_scanner.c"
! 7031: yy785:
! 7032: YYDEBUG(785, *YYCURSOR);
! 7033: ++YYCURSOR;
! 7034: YYDEBUG(786, *YYCURSOR);
! 7035: yyleng = YYCURSOR - SCNG(yy_text);
! 7036: #line 1324 "Zend/zend_language_scanner.l"
! 7037: {
! 7038: yyless(0);
! 7039: yy_pop_state(TSRMLS_C);
! 7040: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
! 7041: goto restart;
! 7042: }
! 7043: #line 7044 "Zend/zend_language_scanner.c"
! 7044: yy787:
! 7045: YYDEBUG(787, *YYCURSOR);
! 7046: ++YYCURSOR;
! 7047: YYFILL(1);
! 7048: yych = *YYCURSOR;
! 7049: yy788:
! 7050: YYDEBUG(788, *YYCURSOR);
! 7051: if (yybm[0+yych] & 128) {
! 7052: goto yy787;
! 7053: }
! 7054: goto yy784;
! 7055: }
! 7056: /* *********************************** */
! 7057: yyc_ST_NOWDOC:
! 7058: YYDEBUG(789, *YYCURSOR);
! 7059: YYFILL(1);
! 7060: yych = *YYCURSOR;
! 7061: YYDEBUG(791, *YYCURSOR);
! 7062: ++YYCURSOR;
! 7063: YYDEBUG(792, *YYCURSOR);
! 7064: yyleng = YYCURSOR - SCNG(yy_text);
! 7065: #line 2158 "Zend/zend_language_scanner.l"
! 7066: {
! 7067: int newline = 0;
! 7068:
! 7069: if (YYCURSOR > YYLIMIT) {
! 7070: return 0;
! 7071: }
! 7072:
! 7073: YYCURSOR--;
! 7074:
! 7075: while (YYCURSOR < YYLIMIT) {
! 7076: switch (*YYCURSOR++) {
! 7077: case '\r':
! 7078: if (*YYCURSOR == '\n') {
! 7079: YYCURSOR++;
! 7080: }
! 7081: /* fall through */
! 7082: case '\n':
! 7083: /* Check for ending label on the next line */
! 7084: if (IS_LABEL_START(*YYCURSOR) && CG(heredoc_len) < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, CG(heredoc), CG(heredoc_len))) {
! 7085: YYCTYPE *end = YYCURSOR + CG(heredoc_len);
! 7086:
! 7087: if (*end == ';') {
! 7088: end++;
! 7089: }
! 7090:
! 7091: if (*end == '\n' || *end == '\r') {
! 7092: /* newline before label will be subtracted from returned text, but
! 7093: * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
! 7094: if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
! 7095: newline = 2; /* Windows newline */
! 7096: } else {
! 7097: newline = 1;
! 7098: }
! 7099:
! 7100: CG(increment_lineno) = 1; /* For newline before label */
! 7101: BEGIN(ST_END_HEREDOC);
! 7102:
! 7103: goto nowdoc_scan_done;
! 7104: }
! 7105: }
! 7106: /* fall through */
! 7107: default:
! 7108: continue;
! 7109: }
! 7110: }
! 7111:
! 7112: nowdoc_scan_done:
! 7113: yyleng = YYCURSOR - SCNG(yy_text);
! 7114:
! 7115: zend_copy_value(zendlval, yytext, yyleng - newline);
! 7116: zendlval->type = IS_STRING;
! 7117: HANDLE_NEWLINES(yytext, yyleng - newline);
! 7118: return T_ENCAPSED_AND_WHITESPACE;
! 7119: }
! 7120: #line 7121 "Zend/zend_language_scanner.c"
! 7121: /* *********************************** */
! 7122: yyc_ST_VAR_OFFSET:
! 7123: {
! 7124: static const unsigned char yybm[] = {
! 7125: 0, 0, 0, 0, 0, 0, 0, 0,
! 7126: 0, 0, 0, 0, 0, 0, 0, 0,
! 7127: 0, 0, 0, 0, 0, 0, 0, 0,
! 7128: 0, 0, 0, 0, 0, 0, 0, 0,
! 7129: 0, 0, 0, 0, 0, 0, 0, 0,
! 7130: 0, 0, 0, 0, 0, 0, 0, 0,
! 7131: 224, 224, 224, 224, 224, 224, 224, 224,
! 7132: 224, 224, 0, 0, 0, 0, 0, 0,
! 7133: 0, 160, 160, 160, 160, 160, 160, 32,
! 7134: 32, 32, 32, 32, 32, 32, 32, 32,
! 7135: 32, 32, 32, 32, 32, 32, 32, 32,
! 7136: 32, 32, 32, 0, 0, 0, 0, 32,
! 7137: 0, 160, 160, 160, 160, 160, 160, 32,
! 7138: 32, 32, 32, 32, 32, 32, 32, 32,
! 7139: 32, 32, 32, 32, 32, 32, 32, 32,
! 7140: 32, 32, 32, 0, 0, 0, 0, 32,
! 7141: 32, 32, 32, 32, 32, 32, 32, 32,
! 7142: 32, 32, 32, 32, 32, 32, 32, 32,
! 7143: 32, 32, 32, 32, 32, 32, 32, 32,
! 7144: 32, 32, 32, 32, 32, 32, 32, 32,
! 7145: 32, 32, 32, 32, 32, 32, 32, 32,
! 7146: 32, 32, 32, 32, 32, 32, 32, 32,
! 7147: 32, 32, 32, 32, 32, 32, 32, 32,
! 7148: 32, 32, 32, 32, 32, 32, 32, 32,
! 7149: 32, 32, 32, 32, 32, 32, 32, 32,
! 7150: 32, 32, 32, 32, 32, 32, 32, 32,
! 7151: 32, 32, 32, 32, 32, 32, 32, 32,
! 7152: 32, 32, 32, 32, 32, 32, 32, 32,
! 7153: 32, 32, 32, 32, 32, 32, 32, 32,
! 7154: 32, 32, 32, 32, 32, 32, 32, 32,
! 7155: 32, 32, 32, 32, 32, 32, 32, 32,
! 7156: 32, 32, 32, 32, 32, 32, 32, 32,
! 7157: };
! 7158: YYDEBUG(793, *YYCURSOR);
! 7159: YYFILL(3);
! 7160: yych = *YYCURSOR;
! 7161: if (yych <= '/') {
! 7162: if (yych <= ' ') {
! 7163: if (yych <= '\f') {
! 7164: if (yych <= 0x08) goto yy807;
! 7165: if (yych <= '\n') goto yy803;
! 7166: goto yy807;
! 7167: } else {
! 7168: if (yych <= '\r') goto yy803;
! 7169: if (yych <= 0x1F) goto yy807;
! 7170: goto yy803;
! 7171: }
! 7172: } else {
! 7173: if (yych <= '$') {
! 7174: if (yych <= '"') goto yy802;
! 7175: if (yych <= '#') goto yy803;
! 7176: goto yy798;
! 7177: } else {
! 7178: if (yych == '\'') goto yy803;
! 7179: goto yy802;
! 7180: }
! 7181: }
! 7182: } else {
! 7183: if (yych <= '\\') {
! 7184: if (yych <= '@') {
! 7185: if (yych <= '0') goto yy795;
! 7186: if (yych <= '9') goto yy797;
! 7187: goto yy802;
! 7188: } else {
! 7189: if (yych <= 'Z') goto yy805;
! 7190: if (yych <= '[') goto yy802;
! 7191: goto yy803;
! 7192: }
! 7193: } else {
! 7194: if (yych <= '_') {
! 7195: if (yych <= ']') goto yy800;
! 7196: if (yych <= '^') goto yy802;
! 7197: goto yy805;
! 7198: } else {
! 7199: if (yych <= '`') goto yy802;
! 7200: if (yych <= 'z') goto yy805;
! 7201: if (yych <= '~') goto yy802;
! 7202: goto yy805;
! 7203: }
! 7204: }
! 7205: }
! 7206: yy795:
! 7207: YYDEBUG(795, *YYCURSOR);
! 7208: yyaccept = 0;
! 7209: yych = *(YYMARKER = ++YYCURSOR);
! 7210: if (yych <= 'W') {
! 7211: if (yych <= '/') goto yy796;
! 7212: if (yych <= '9') goto yy818;
! 7213: } else {
! 7214: if (yych <= 'X') goto yy816;
! 7215: if (yych == 'x') goto yy816;
! 7216: }
! 7217: yy796:
! 7218: YYDEBUG(796, *YYCURSOR);
! 7219: yyleng = YYCURSOR - SCNG(yy_text);
! 7220: #line 1374 "Zend/zend_language_scanner.l"
! 7221: { /* Offset could be treated as a long */
! 7222: if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
! 7223: zendlval->value.lval = strtol(yytext, NULL, 10);
! 7224: zendlval->type = IS_LONG;
! 7225: } else {
! 7226: zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
! 7227: zendlval->value.str.len = yyleng;
! 7228: zendlval->type = IS_STRING;
! 7229: }
! 7230: return T_NUM_STRING;
! 7231: }
! 7232: #line 7233 "Zend/zend_language_scanner.c"
! 7233: yy797:
! 7234: YYDEBUG(797, *YYCURSOR);
! 7235: yych = *++YYCURSOR;
! 7236: goto yy815;
! 7237: yy798:
! 7238: YYDEBUG(798, *YYCURSOR);
! 7239: ++YYCURSOR;
! 7240: if ((yych = *YYCURSOR) <= '_') {
! 7241: if (yych <= '@') goto yy799;
! 7242: if (yych <= 'Z') goto yy811;
! 7243: if (yych >= '_') goto yy811;
! 7244: } else {
! 7245: if (yych <= '`') goto yy799;
! 7246: if (yych <= 'z') goto yy811;
! 7247: if (yych >= 0x7F) goto yy811;
! 7248: }
! 7249: yy799:
! 7250: YYDEBUG(799, *YYCURSOR);
! 7251: yyleng = YYCURSOR - SCNG(yy_text);
! 7252: #line 1684 "Zend/zend_language_scanner.l"
! 7253: {
! 7254: /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
! 7255: return yytext[0];
! 7256: }
! 7257: #line 7258 "Zend/zend_language_scanner.c"
! 7258: yy800:
! 7259: YYDEBUG(800, *YYCURSOR);
! 7260: ++YYCURSOR;
! 7261: YYDEBUG(801, *YYCURSOR);
! 7262: yyleng = YYCURSOR - SCNG(yy_text);
! 7263: #line 1679 "Zend/zend_language_scanner.l"
! 7264: {
! 7265: yy_pop_state(TSRMLS_C);
! 7266: return ']';
! 7267: }
! 7268: #line 7269 "Zend/zend_language_scanner.c"
! 7269: yy802:
! 7270: YYDEBUG(802, *YYCURSOR);
! 7271: yych = *++YYCURSOR;
! 7272: goto yy799;
! 7273: yy803:
! 7274: YYDEBUG(803, *YYCURSOR);
! 7275: ++YYCURSOR;
! 7276: YYDEBUG(804, *YYCURSOR);
! 7277: yyleng = YYCURSOR - SCNG(yy_text);
! 7278: #line 1689 "Zend/zend_language_scanner.l"
! 7279: {
! 7280: /* Invalid rule to return a more explicit parse error with proper line number */
! 7281: yyless(0);
! 7282: yy_pop_state(TSRMLS_C);
! 7283: return T_ENCAPSED_AND_WHITESPACE;
! 7284: }
! 7285: #line 7286 "Zend/zend_language_scanner.c"
! 7286: yy805:
! 7287: YYDEBUG(805, *YYCURSOR);
! 7288: ++YYCURSOR;
! 7289: yych = *YYCURSOR;
! 7290: goto yy810;
! 7291: yy806:
! 7292: YYDEBUG(806, *YYCURSOR);
! 7293: yyleng = YYCURSOR - SCNG(yy_text);
! 7294: #line 1696 "Zend/zend_language_scanner.l"
! 7295: {
! 7296: zend_copy_value(zendlval, yytext, yyleng);
! 7297: zendlval->type = IS_STRING;
! 7298: return T_STRING;
! 7299: }
! 7300: #line 7301 "Zend/zend_language_scanner.c"
! 7301: yy807:
! 7302: YYDEBUG(807, *YYCURSOR);
! 7303: ++YYCURSOR;
! 7304: YYDEBUG(808, *YYCURSOR);
! 7305: yyleng = YYCURSOR - SCNG(yy_text);
! 7306: #line 2214 "Zend/zend_language_scanner.l"
! 7307: {
! 7308: if (YYCURSOR > YYLIMIT) {
! 7309: return 0;
! 7310: }
! 7311:
! 7312: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
! 7313: goto restart;
! 7314: }
! 7315: #line 7316 "Zend/zend_language_scanner.c"
! 7316: yy809:
! 7317: YYDEBUG(809, *YYCURSOR);
! 7318: ++YYCURSOR;
! 7319: YYFILL(1);
! 7320: yych = *YYCURSOR;
! 7321: yy810:
! 7322: YYDEBUG(810, *YYCURSOR);
! 7323: if (yybm[0+yych] & 32) {
! 7324: goto yy809;
! 7325: }
! 7326: goto yy806;
! 7327: yy811:
! 7328: YYDEBUG(811, *YYCURSOR);
! 7329: ++YYCURSOR;
! 7330: YYFILL(1);
! 7331: yych = *YYCURSOR;
! 7332: YYDEBUG(812, *YYCURSOR);
! 7333: if (yych <= '^') {
! 7334: if (yych <= '9') {
! 7335: if (yych >= '0') goto yy811;
! 7336: } else {
! 7337: if (yych <= '@') goto yy813;
! 7338: if (yych <= 'Z') goto yy811;
! 7339: }
! 7340: } else {
! 7341: if (yych <= '`') {
! 7342: if (yych <= '_') goto yy811;
! 7343: } else {
! 7344: if (yych <= 'z') goto yy811;
! 7345: if (yych >= 0x7F) goto yy811;
! 7346: }
! 7347: }
! 7348: yy813:
! 7349: YYDEBUG(813, *YYCURSOR);
! 7350: yyleng = YYCURSOR - SCNG(yy_text);
! 7351: #line 1673 "Zend/zend_language_scanner.l"
! 7352: {
! 7353: zend_copy_value(zendlval, (yytext+1), (yyleng-1));
! 7354: zendlval->type = IS_STRING;
! 7355: return T_VARIABLE;
! 7356: }
! 7357: #line 7358 "Zend/zend_language_scanner.c"
! 7358: yy814:
! 7359: YYDEBUG(814, *YYCURSOR);
! 7360: ++YYCURSOR;
! 7361: YYFILL(1);
! 7362: yych = *YYCURSOR;
! 7363: yy815:
! 7364: YYDEBUG(815, *YYCURSOR);
! 7365: if (yybm[0+yych] & 64) {
! 7366: goto yy814;
! 7367: }
! 7368: goto yy796;
! 7369: yy816:
! 7370: YYDEBUG(816, *YYCURSOR);
! 7371: yych = *++YYCURSOR;
! 7372: if (yybm[0+yych] & 128) {
! 7373: goto yy821;
! 7374: }
! 7375: YYDEBUG(817, *YYCURSOR);
! 7376: YYCURSOR = YYMARKER;
! 7377: goto yy796;
! 7378: yy818:
! 7379: YYDEBUG(818, *YYCURSOR);
! 7380: ++YYCURSOR;
! 7381: YYFILL(1);
! 7382: yych = *YYCURSOR;
! 7383: YYDEBUG(819, *YYCURSOR);
! 7384: if (yych <= '/') goto yy820;
! 7385: if (yych <= '9') goto yy818;
! 7386: yy820:
! 7387: YYDEBUG(820, *YYCURSOR);
! 7388: yyleng = YYCURSOR - SCNG(yy_text);
! 7389: #line 1386 "Zend/zend_language_scanner.l"
! 7390: { /* Offset must be treated as a string */
! 7391: zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
! 7392: zendlval->value.str.len = yyleng;
! 7393: zendlval->type = IS_STRING;
! 7394: return T_NUM_STRING;
! 7395: }
! 7396: #line 7397 "Zend/zend_language_scanner.c"
! 7397: yy821:
! 7398: YYDEBUG(821, *YYCURSOR);
! 7399: ++YYCURSOR;
! 7400: YYFILL(1);
! 7401: yych = *YYCURSOR;
! 7402: YYDEBUG(822, *YYCURSOR);
! 7403: if (yybm[0+yych] & 128) {
! 7404: goto yy821;
! 7405: }
! 7406: goto yy820;
! 7407: }
! 7408: }
! 7409: #line 2223 "Zend/zend_language_scanner.l"
! 7410:
! 7411: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>