]> granicus.if.org Git - php/commitdiff
Fixed bug #21820 ("$arr[foo]" generates bogus E_NOTICE, should be E_PARSE)
authorfoobar <sniper@php.net>
Fri, 25 Apr 2003 10:13:51 +0000 (10:13 +0000)
committerfoobar <sniper@php.net>
Fri, 25 Apr 2003 10:13:51 +0000 (10:13 +0000)
Zend/zend_language_scanner.l

index 1aa2110de6705a7bf7fab494db6ac3b063c95239..ee1060cb55305d4b74caaf826b6d6c0f4acd077d 100644 (file)
@@ -474,8 +474,6 @@ DNUM        ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*)
 EXPONENT_DNUM  (({LNUM}|{DNUM})[eE][+-]?{LNUM})
 HNUM   "0x"[0-9a-fA-F]+
 LABEL  [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
-ENCAPSED_STRING ([a-zA-Z0-9_\x7f-\xff \t #'.:;,()|^&+/*=%!~<>?@]|"-"[a-zA-Z0-9_\x7f-\xff \t #'.:;,()|^&+/*=%!~<?@])+
-ENCAPSED_STRING_WITH_NEWLINE ([a-zA-Z0-9_\x7f-\xff \t\n\r #'.:;,()|^&+/*=%!~<>?@]|"-"[a-zA-Z0-9_\x7f-\xff \t\n\r #'.:;,()|^&+/*=%!~<?@])+
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
 TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@]
@@ -1115,14 +1113,6 @@ NAMESPACE_NAME ({LABEL}":")+{LABEL}
        return T_VARIABLE;
 }
 
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE>{ENCAPSED_STRING_WITH_NEWLINE} {
-       HANDLE_NEWLINES(yytext, yyleng);
-       zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
-       zendlval->value.str.len = yyleng;
-       zendlval->type = IS_STRING;
-       return T_STRING;
-}
-
 <ST_IN_SCRIPTING>{LABEL} {
        zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;
@@ -1137,7 +1127,7 @@ NAMESPACE_NAME ({LABEL}":")+{LABEL}
        return T_NAMESPACE_NAME;
 }
 
-<ST_HEREDOC>{ENCAPSED_STRING} {
+<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{LABEL} {
        zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;
        zendlval->type = IS_STRING;