Hi,
I prepared first commit for PHP 5.6 support. It is just initial draft with
2 new elements:
* Constant Scalar Expressions - https://wiki.php.net/rfc/const_scalar_exprs
* Power Operator - https://wiki.php.net/rfc/pow-operator

These two elements can be tested already. Any feedback (positive or
negative) is appreciated :)
Git Commit:  https://git.eclipse.org/r/#/c/33947/

BTW, Language model is still not regenerated. Is there a simple way to
install all necessary extensions? I tried to install them with pecl, but it
is pretty slow method :)

Thanks,
Michal

On Mon, Sep 22, 2014 at 2:58 PM, Dawid Pakuła <zu...@w3des.net> wrote:

> Hi,
>
> Hi,
> I have some additional questions:
>
>  2. Generate code stubs and register it. Same for keywords
>
> Which part of code you are talking about exactly?
>
> See IPHPKeywordsInitializer and subclasses.
>
> Code stubs org.eclipse.php.core/Resources/language/php_ver (see README.txt
> howto generate it). Remember to update DefaultLanguageModelProvider after
> generation.
>
> 5. Copy/paste and extend parser. Current pdt parser are very close to
>> original php parser, so their source code may be helpful + tests
>
> Can you point me place where I can find this original PHP parser?
>
> https://github.com/php/php-src/blob/PHP-5.6.1/Zend/zend_language_parser.y
>
> And one more question about generating language model. File "generate.php"
> is generating code based on loaded extensions. Is there a list of modules
> that need to be enabled during generation?
>
> This was my mistake while initial php 5.5 implementation. File names in
> languages/php5.5 are your list. Module_name.php ;)
>
>
>
> Thanks,
> Michal
>
> On Thu, Sep 18, 2014 at 12:12 AM, Dawid Pakuła <zu...@w3des.net> wrote:
>
>> Hi,
>>
>> most elements you will find in one commit : [1].
>> bug for php 5.6 is open [2]
>>
>> Steps:
>> 1. Extend PHPVersion and where is used (projects wizard, project
>> preferences and more…)
>> 2. Generate code stubs and register it. Same for keywords
>> 3. Copy/paste php 5.5 flexer and extend it. Two or three new tokens as I
>> see(pow operator, variadic…) + tests
>> 4. Create new AST nodes for DOM and Compiler tree
>> 5. Copy/paste and extend parser. Current pdt parser are very close to
>> original php parser, so their source code may be helpful + tests
>> 6. Extend occurrences finder + tests
>> 7. Extend formatter / syntax coloring + tests
>> 8. Extend ASTMatcher + tests
>> 9. Modify inference engine + tests
>> 10. Modify CA + tests
>>
>> php 5.5 was in general easy to implement.
>> With php 5.6 will be harder due new use function and use constant
>>
>> DLTK doesn’t allow to add additional informations to imports. Patch: [3]
>>
>> I hope it’s helpful.
>>
>> [1] -
>> http://git.eclipse.org/c/pdt/org.eclipse.pdt.git/commit/?id=9034500b3b47f34efa42be4d8b18871d78493995
>> [2] - https://bugs.eclipse.org/bugs/show_bug.cgi?id=435922
>> [3] - https://bugs.eclipse.org/bugs/show_bug.cgi?id=437856
>>
>> --
>> Dawid Pakuła
>> +48 795 996 064
>>
>> w3des.net
>> ul. Grabiszyńska 108/10
>> 53-437 Wrocław
>> NIP: 894-293-95-95
>> REGON: 340769757
>>
>> From: Michał Niewrzał <micha...@zend.com> <micha...@zend.com>
>> Reply: PDT Developers <pdt-dev@eclipse.org>> <pdt-dev@eclipse.org>
>> Date: 17 września 2014 at 23:53:02
>> To: PDT Developers <pdt-dev@eclipse.org>> <pdt-dev@eclipse.org>
>> Subject:  [pdt-dev] PHP 5.6 support
>>
>> Hi All,
>> We (Zend Studio team) begin to think about support for PHP 5.6. Of course
>> we need to start from PDT. It looks that I will be person most involved
>> from our team and I want to start this conversation with at least general
>> idea what need to be done. I heard that previous version 5.5 was
>> implemented mostly by Dawid:) Dawid, can you write short (I hope) list with
>> PDT parts that needs to be adjusted/extended?
>>
>> Thanks,
>> Michal
>> _______________________________________________
>> pdt-dev mailing list
>> pdt-dev@eclipse.org
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>>
>>
>> _______________________________________________
>> pdt-dev mailing list
>> pdt-dev@eclipse.org
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>>
>
> _______________________________________________
> pdt-dev mailing list
> pdt-dev@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>
>
> _______________________________________________
> pdt-dev mailing list
> pdt-dev@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/pdt-dev
>
_______________________________________________
pdt-dev mailing list
pdt-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Reply via email to