Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60513 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25271 invoked from network); 7 May 2012 19:26:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 May 2012 19:26:35 -0000 Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@googlemail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=nikita.ppv@googlemail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain googlemail.com designates 209.85.217.170 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@googlemail.com X-Host-Fingerprint: 209.85.217.170 mail-lb0-f170.google.com Received: from [209.85.217.170] ([209.85.217.170:46377] helo=mail-lb0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2A/51-16305-9E128AF4 for ; Mon, 07 May 2012 15:26:34 -0400 Received: by lbgc1 with SMTP id c1so2876426lbg.29 for ; Mon, 07 May 2012 12:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hdJCEnu4t7R3zRzr0Rb6KvJCapyyWhMWz4SutNzvj9M=; b=dvatRHHTICdd/t7825d9b3n7soO3VZiNstlk89DmAdjN7Bi3ycLn5Rwl9o3caYQ7VV 1X17fOsoj+To8l1+CS6LBKN2GKTUBBn0OnJOak0UvogtyutNWcByA4iCzpecY8YHcAc1 IooWB/dPS3oDovFsAo0V8VIf7IsZshZeH4MsW+ozgR0oi+dPto0/6+VPebYo5tBwZ1wH eLUKKHkKqN7bXDJ6RMvK9ZL51yHWtw15ZzFPn97ZWe0lqW/DUWDY2vOedC7zTPgeL9iS WO6kz/mLRXT2/vPxlk2+WITpYzKJYJJz+ulTsLlPdyyVXkSjpMR6oJK44ZUuPw670n0l 0EGQ== MIME-Version: 1.0 Received: by 10.152.105.173 with SMTP id gn13mr1310976lab.20.1336418791116; Mon, 07 May 2012 12:26:31 -0700 (PDT) Received: by 10.152.1.196 with HTTP; Mon, 7 May 2012 12:26:31 -0700 (PDT) In-Reply-To: <9570D903A3BECE4092E924C2985CE48555BFD995@MBX202.domain.local> References: <9570D903A3BECE4092E924C2985CE48555BEE86D@MBX202.domain.local> <9570D903A3BECE4092E924C2985CE48555BF7139@MBX202.domain.local> <9570D903A3BECE4092E924C2985CE48555BFD995@MBX202.domain.local> Date: Mon, 7 May 2012 21:26:31 +0200 Message-ID: To: Clint Priest Cc: Etienne Kneuss , "Felipe Pena (felipensp@gmail.com)" , "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] RE: Trouble with zend_language_parser.y From: nikita.ppv@googlemail.com (Nikita Popov) On Mon, May 7, 2012 at 9:16 PM, Clint Priest wrote: > Alright, I'm new to git but I believe I have a branch off my fork which demonstrates the issue. > > https://github.com/cpriest/php-src/tree/isset-unset-issue > > This branch also features just code necessary to produce the results, if you search in zend_compile.h for ISSUE-ISSET-LANGUAGE-PARSER you'll see further contextual notes on what I'm seeing that's the issue. > > It seems the function_token is getting the rest of the script stuffed into it. When you write $1 (where 1 references a terminal) you are accessing the zendlval of the token. Not all tokens define an lval. Only tokens which have a meaningful value (like numbers, strings, etc). So when accessing the value of T_ISSET you just get some junk (as it does not set a value). Not sure that's really right, but that would be my guess :) Nikita