RE: [PHP-DEV] RE: Trouble with zend_language_parser.y
| From: | Clint Priest | Date: | Mon, 07 May 2012 23:07:40 +0000 |
| Subject: | RE: [PHP-DEV] RE: Trouble with zend_language_parser.y | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-60514@lists.php.net to get a copy of this message | ||
That makes complete sense, it is indeed a LONG type that's getting to that point, thank you!
> -----Original Message-----
> From: Nikita Popov [mailto:nikita.ppv@googlemail.com]
> Sent: Monday, May 07, 2012 2:27 PM
> To: Clint Priest
> Cc: Etienne Kneuss; Felipe Pena (felipensp@gmail.com); internals@lists.php.net
> Subject: Re: [PHP-DEV] RE: Trouble with zend_language_parser.y
>
> On Mon, May 7, 2012 at 9:16 PM, Clint Priest <cpriest@zerocue.com> 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