]> granicus.if.org Git - php/commitdiff
- Fix problem with newlines not being recognized under certain conditions
authorAndi Gutmans <andi@php.net>
Thu, 6 Jul 2000 16:19:36 +0000 (16:19 +0000)
committerAndi Gutmans <andi@php.net>
Thu, 6 Jul 2000 16:19:36 +0000 (16:19 +0000)
Zend/zend-scanner.l

index 7d3c8593e68d55c7171c045e244c4cdd1e83d42b..e3a2b635e1d68afcc94a31ae9b9221ca345e70f9 100644 (file)
@@ -741,6 +741,7 @@ TABS_AND_SPACES [ \t]*
 TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@]
 ENCAPSED_TOKENS [\[\]{}$]
 ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
+ANY_CHAR (.|[\n])
 
 %option noyylineno
 %option noyywrap
@@ -879,7 +880,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
        return T_STRING;
 }
 
-<ST_LOOKING_FOR_PROPERTY>. {
+<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
        /*unput(yytext[0]);*/
        yyless(0);
        yy_pop_state();
@@ -1122,7 +1123,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
 }
 
 
-<ST_LOOKING_FOR_VARNAME>. {
+<ST_LOOKING_FOR_VARNAME>{ANY_CHAR} {
        /*unput(yytext[0]);*/
        yyless(0);
        yy_pop_state();
@@ -1618,7 +1619,7 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
        return T_CHARACTER;
 }
 
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\". {
+<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"\\"{ANY_CHAR} {
        switch (yytext[1]) {
                case 'n':
                        zendlval->value.lval = (long) '\n';
@@ -1686,6 +1687,6 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
        
 
 
-<ST_IN_SCRIPTING,INITIAL,ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_SINGLE_QUOTE,ST_HEREDOC>. {
+<ST_IN_SCRIPTING,INITIAL,ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_SINGLE_QUOTE,ST_HEREDOC>{ANY_CHAR} {
        zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d",yytext[0],yytext[0],YYSTATE);
 }