Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:31729 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 5777 invoked by uid 1010); 20 Aug 2007 10:04:50 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 5762 invoked from network); 20 Aug 2007 10:04:50 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Aug 2007 10:04:50 -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:37357] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C0/01-30391-04769C64 for ; Mon, 20 Aug 2007 06:04:49 -0400 Received: from dhcp-172-30-11-223.zrh.corp.google.com (unknown [216.239.55.7]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by h1149922.serverkompetenz.net (Postfix) with ESMTP id 4F3BD1B35F3; Mon, 20 Aug 2007 12:04:45 +0200 (CEST) Date: Mon, 20 Aug 2007 12:04:44 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <105489983.20070820120444@marcus-boerger.de> To: Gregory Beaver CC: Ralph Schindler , Marcus Boerger , PHP Developers Mailing List In-Reply-To: <46C5DC6F.6070800@chiaraquartet.net> References: <46C30190.2060106@pooteeweet.org> <1222090294.20070816222340@marcus-boerger.de> <46C5D1BB.8040007@smashlabs.com> <46C5DC6F.6070800@chiaraquartet.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] reserved word alert From: helly@php.net (Marcus Boerger) Hello Gregory, the good news on this fron is that re2c meanwhile has a new beta version with flex like conditoin support. Also when changing from flex to re2c we should switch from bison to lemon. All in all a damn huge amount of work. But the result would be much cleaner, faster, more flexible, fully reentrant, reuseable outside of the engine and cabable of unicode.... Yet you mentioned the big issue, someone would need to do this. Though the biggest entry on the to do would be discussing it ... hopefully not needting to rename something marcus Friday, August 17, 2007, 7:35:43 PM, you wrote: > Ralph Schindler wrote: >> Hey David & Lucas, >> I brought this up a year ago on the list here: >> >> http://marc.info/?t=114728193700003&r=1&w=2 >> >> Essentially, the trend will continue to be that as keyword requiring >> features are added, the global naming space will continue to become >> smaller and less safe for older applications written for older versions >> of php. >> >> Until it becomes a goal of php-internals to add contextual awareness and >> sensitivity to the compiler's tokenizer, this will always be a problem. >> >> Here is a more amusing list of method names that will also not work: >> http://marc.info/?l=php-dev&m=114736739115429&w=2 >> >> And the general opinion summed up by Wez ;) >> >> http://marc.info/?l=php-dev&m=114764099400409&w=2 > Hi, > Doing this with flex is non-trivial. It's a lot easier with a > re2c-based lexer, but porting the flex scanner to re2c is the definition > of "oh-my-god-almighty" complex and until someone just does it, it ain't > gonna happen. > The other hackish alternative is to add rules to the parser with > reserved words (T_FUNCTION T_IMPORT as well as T_FUNCTION T_STRING, etc. > etc.), but this slows down the parser and adds unnecessary duplication. > Greg Best regards, Marcus