From: Matt Wilmas Date: Tue, 5 May 2009 01:44:52 +0000 (+0000) Subject: Regenerate X-Git-Tag: php-5.3.0RC2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e7c5f3cfa47d42ef9f18f7d4f68c66cddab42f48;p=php Regenerate --- diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index aa50dec95f..84b63f3c45 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Thu Mar 26 15:37:35 2009 */ +/* Generated by re2c 0.13.5 on Mon May 04 19:38:30 2009 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -111,6 +111,12 @@ do { \ } \ } +/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */ +#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len) +#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_len) + +#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) + #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) @@ -828,52 +834,40 @@ restart: yymore_restart: -#line 832 "Zend/zend_language_scanner.c" +#line 838 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; - if (YYGETCONDITION() < 6) { - if (YYGETCONDITION() < 3) { + if (YYGETCONDITION() < 5) { + if (YYGETCONDITION() < 2) { if (YYGETCONDITION() < 1) { goto yyc_ST_IN_SCRIPTING; } else { - if (YYGETCONDITION() < 2) { - goto yyc_ST_LOOKING_FOR_PROPERTY; - } else { - goto yyc_ST_BACKQUOTE; - } + goto yyc_ST_LOOKING_FOR_PROPERTY; } } else { - if (YYGETCONDITION() < 4) { - goto yyc_ST_DOUBLE_QUOTES; + if (YYGETCONDITION() < 3) { + goto yyc_ST_BACKQUOTE; } else { - if (YYGETCONDITION() < 5) { - goto yyc_ST_HEREDOC; + if (YYGETCONDITION() < 4) { + goto yyc_ST_DOUBLE_QUOTES; } else { - goto yyc_ST_LOOKING_FOR_VARNAME; + goto yyc_ST_HEREDOC; } } } } else { - if (YYGETCONDITION() < 9) { - if (YYGETCONDITION() < 7) { - goto yyc_ST_VAR_OFFSET; + if (YYGETCONDITION() < 7) { + if (YYGETCONDITION() < 6) { + goto yyc_ST_LOOKING_FOR_VARNAME; } else { - if (YYGETCONDITION() < 8) { - goto yyc_INITIAL; - } else { - goto yyc_ST_ONE_LINE_COMMENT; - } + goto yyc_ST_VAR_OFFSET; } } else { - if (YYGETCONDITION() < 11) { - if (YYGETCONDITION() < 10) { - goto yyc_ST_COMMENT; - } else { - goto yyc_ST_DOC_COMMENT; - } + if (YYGETCONDITION() < 8) { + goto yyc_INITIAL; } else { - if (YYGETCONDITION() < 12) { + if (YYGETCONDITION() < 9) { goto yyc_ST_END_HEREDOC; } else { goto yyc_ST_NOWDOC; @@ -922,59 +916,67 @@ yyc_INITIAL: YYDEBUG(0, *YYCURSOR); YYFILL(8); yych = *YYCURSOR; - if (yych <= 0x00) goto yy2; - if (yych == '<') goto yy4; - goto yy6; -yy2: + if (yych != '<') goto yy4; YYDEBUG(2, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(3, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2100 "Zend/zend_language_scanner.l" - { return 0; } -#line 936 "Zend/zend_language_scanner.c" -yy4: - YYDEBUG(4, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '?') { - if (yych == '%') goto yy9; - if (yych >= '?') goto yy7; + if (yych == '%') goto yy7; + if (yych >= '?') goto yy5; } else { if (yych <= 'S') { - if (yych >= 'S') goto yy11; + if (yych >= 'S') goto yy9; } else { - if (yych == 's') goto yy11; + if (yych == 's') goto yy9; } } -yy5: - YYDEBUG(5, *YYCURSOR); +yy3: + YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1603 "Zend/zend_language_scanner.l" +#line 1562 "Zend/zend_language_scanner.l" { + if (YYCURSOR > YYLIMIT) { + return 0; + } inline_char_handler: while (1) { YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR); - if (ptr == NULL) { - YYCURSOR = YYLIMIT; - yyleng = YYCURSOR - SCNG(yy_text); - break; - - } else { - YYCURSOR = ptr + 1; + YYCURSOR = ptr ? ptr + 1 : YYLIMIT; - /* stop if it may be an opening tag (). this condition is not optimal though */ - if (YYCURSOR < YYLIMIT && (*YYCURSOR == '?' || *YYCURSOR == '%' || *YYCURSOR == 's')) { - --YYCURSOR; - yyleng = YYCURSOR - SCNG(yy_text); - break; + if (YYCURSOR < YYLIMIT) { + switch (*YYCURSOR) { + case '?': + if (CG(short_tags) || !strncasecmp(YYCURSOR + 1, "php", 3)) { /* Assume [ \t\n\r] follows "php" */ + break; + } + continue; + case '%': + if (CG(asp_tags)) { + break; + } + continue; + case 's': + case 'S': + /* Probably NOT an opening PHP