I propose something like the following: (not tested) It's definitely a sexier patch :)
Andi RCS file: /repository/ZendEngine2/zend_language_scanner.l,v retrieving revision 1.62 diff -u -u -r1.62 zend_language_scanner.l --- zend_language_scanner.l 5 Nov 2002 22:01:35 -0000 1.62 +++ zend_language_scanner.l 15 Nov 2002 23:22:34 -0000 @@ -474,6 +474,7 @@ 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\n\r #'.:;,()|^&+/*=%!~<>?@]|"-"[^>])+ WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@] @@ -1076,6 +1077,12 @@ return T_VARIABLE; } +<ST_DOUBLE_QUOTES,ST_BACKQUOTE>{ENCAPSED_STRING} { + 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 +1092,7 @@ } -<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 +1381,7 @@ } -<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; Andi -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php