Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:35896 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 78293 invoked from network); 2 Mar 2008 23:43:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Mar 2008 23:43:39 -0000 Authentication-Results: pb1.pair.com smtp.mail=helly@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=helly@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 85.214.94.56 as permitted sender) X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 85.214.94.56 aixcept.net Linux 2.6 Received: from [85.214.94.56] ([85.214.94.56:54748] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C7/57-29055-AAB3BC74 for ; Sun, 02 Mar 2008 18:43:39 -0500 Received: from MBOERGER-ZRH.corp.google.com (209-222.1-85.cust.bluewin.ch [85.1.222.209]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by h1149922.serverkompetenz.net (Postfix) with ESMTP id 7CE2111F067; Mon, 3 Mar 2008 00:43:35 +0100 (CET) Date: Mon, 3 Mar 2008 00:43:10 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1254814899.20080303004310@marcus-boerger.de> To: Rasmus Lerdorf CC: Stanislav Malyshev , internals@lists.php.net In-Reply-To: <47CB3780.3090201@lerdorf.com> References: <1706278209.20080302232134@marcus-boerger.de> <47CB2E9D.6010102@zend.com> <47CB3780.3090201@lerdorf.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] [RFC] Replace the flex-based scanner with an re2c [1] based lexer From: helly@php.net (Marcus Boerger) 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