Re: Zend language parser improvements
| From: | guilhermeblanco@gmail.com | Date: | Mon, 08 Dec 2014 20:13:19 +0000 |
| Subject: | Re: Zend language parser improvements | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79481@lists.php.net to get a copy of this message | ||
Nikita,
Shouldn't #3 make more sense taking into consideration this commit:
https://github.com/guilhermeblanco/php-src/commit/872a97c8dbc1c8823985d9a0305938c508865a0d
It is part of a followup PR https://github.com/php/php-src/pull/937 that
removes compiler code checks and delegates to bison, since it's a grammar
issue to accept "trait Foo extends Bar".
Regards,
On Mon, Dec 8, 2014 at 3:06 PM, Nikita Popov <nikita.ppv@gmail.com> wrote:
> On Mon, Dec 8, 2014 at 11:45 AM, Dmitry Stogov <dmitry@zend.com> wrote:
>
>> I don't see technical problems with the patch.
>> However, I also don't see any significant benefits.
>> From the user perspective it'll just change error messages and prevent
>> "final final class" declarations.
>>
>> Nikita, what do you think?
>>
>> Thanks. Dmitry.
>>
>
> The three parts:
>
> 1. Use ZEND_ACC_FINAL instead of ZEND_ACC_FINAL_CLASS: Looks sensible,
> given how many extensions have confused this. We should be careful that
> this change does not make anything final that many people extended (even if
> it was originally meant to be final.)
>
> 2. Don't use magic value for ZEND_ACC_TRAIT: Also makes sense, the
> behavior of the current value is pretty unclear.
>
> 3. Changing the grammar to separate class/trait declarations and have a
> modifier list: This doesn't really make much sense as things currently are
> (only one modifier allowed). I'd suggest to change this when we actually
> support multiple modifiers (e.g. with the static classes patch).
>
> Nikita
>
--
Guilherme Blanco
MSN: guilhermeblanco@hotmail.com
GTalk: guilhermeblanco
Toronto - ON/Canada