Re: [RFC] Replace the flex-based scanner with an re2c [1] based lexer
| From: | Marcus Boerger | Date: | Sun, 02 Mar 2008 23:43:10 +0000 |
| Subject: | Re: [RFC] Replace the flex-based scanner with an re2c [1] based lexer | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-35896@lists.php.net to get a copy of this message | ||
Hello Rasmus,
Monday, March 3, 2008, 12:25:52 AM, you wrote:
> Stanislav Malyshev wrote:
>> Hi!
>>
>>> be much easier, switching to re2c promises a much faster lexer.
>>> Actually,
>>> without any specific re2c optimizations we already get around a 20%
>>> scanner
>>
>> I think 20% faster is very cool.
>> However, as I understand re2c is not a standard tool found everywhere.
>> So what happens if you wanted to use it on some exotic system where
>> re2c is not readily available as manintainer-supported software? Also,
>> flex is available on Windows for example as part of cygwin, while I
>> don't see re2c there.
> I don't think this part is a concern since we have required re2c for
> quite a while now to build many critical parts of PHP. People who
> actually need to regenerate the parser files are the same people for
> whom it is trivial to figure out how to install re2c. And yes, it would
> of course be good to use a released version of re2c, but I think by the
> time 5.3 is ready to go the version of re2c we need will be out there.
> Since it is Marcus' baby, he can just push it out, I don't think this is
> a stumbling block either. Some of the new stuff in re2c was
> specifically added to make it easier to write a PHP parser, so I don't
> think backporting to an older version is really an option.
Right. The current re2c development cycle is solely dedicated to be able
to rewrite the PHP scanners. I will update re2c whenever necessary during
the remaining development cycle and release a new stable release before we
release PHP 5.3.
Best regards,
Marcus