Hi Felipe, all,

The patches have been updated to fix the failing nowdoc_015.phpt test.

http://realplain.com/php/string_optimizations.diff
http://realplain.com/php/string_optimizations_5_3.diff

The problem was that after removing the ST_START_NOWDOC stuff, the
NOWDOC_CHARS pattern wasn't matching on:

<<<'EOT'
SingleLineOfTextThatMatchesThe_LABEL_Pattern
EOT;

I updated NOWDOC_CHARS, I think simplifying it a bit and making it more like
HEREDOC_CHARS.  (And this made zend_language_scanner.c ~5K smaller.)  I
previously tried to change it, and it just hung PHP when scanning a nowdoc
(endless loop being generated somewhere, etc.), so I left it alone.  Looking
into it more now, with the new pattern, re2c is messing up (endless loop)
with

<ST_NOWDOC>{NOWDOC_CHARS}*{NEWLINE}+{LABEL}";"?[\n\r]

And I had to change it to

<ST_NOWDOC>({NOWDOC_CHARS}+{NEWLINE}+|{NEWLINE}+){LABEL}";"?[\n\r]

Though the original should be equivalent...  Well, hopefully it's all
working correctly now!


- Matt


----- Original Message -----
From: "Felipe Pena"
Sent: Monday, May 05, 2008

> [...]
> Hi Matt, the nowdoc_015.phpt fails in HEAD.
>
> --
> Regards,
> Felipe Pena.
>


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to