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