]> granicus.if.org Git - php/commitdiff
- MFZE1
authorAndi Gutmans <andi@php.net>
Sat, 16 Nov 2002 07:32:53 +0000 (07:32 +0000)
committerAndi Gutmans <andi@php.net>
Sat, 16 Nov 2002 07:32:53 +0000 (07:32 +0000)
Zend/zend_language_scanner.l

index 6dc7867c8b378e187db336df0993af19cfb15556..467b0a066898f42b1f01649436b9d7d29af53def 100644 (file)
@@ -474,6 +474,8 @@ 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 #'.:;,()|^&+/*=%!~<>?@]|"-"[^>])+
+ENCAPSED_STRING_WITH_NEWLINE ([a-zA-Z0-9_\x7f-\xff \t\n\r #'.:;,()|^&+/*=%!~<>?@]|"-"[^>])+
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
 TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@]
@@ -1076,6 +1078,13 @@ NEWLINE ("\r"|"\n"|"\r\n")
        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);
@@ -1085,7 +1094,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
 }
 
 
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{LABEL} {
+<ST_HEREDOC>{LABEL} {
        zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;
        zendlval->type = IS_STRING;
@@ -1374,7 +1383,7 @@ NEWLINE ("\r"|"\n"|"\r\n")
 }
 
 
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>{ESCAPED_AND_WHITESPACE} {
+<ST_HEREDOC>{ESCAPED_AND_WHITESPACE} {
        HANDLE_NEWLINES(yytext, yyleng);
        zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
        zendlval->value.str.len = yyleng;