Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] PHP 5.6 support

Hi,

Good catch! I reported an issue to webmaster [1].

For now if this is same version, I think you can copy/paste it from php55 model.

[1] - https://bugs.eclipse.org/bugs/show_bug.cgi?id=446297

--
Dawid Pakuła 
+48 795 996 064

On 8 Oct 2014 at 13:30:33, Michał Niewrzał (michal.n@xxxxxxxx) wrote:

I'm not receiving notifications from gerrit, so it is possible that nobody know about update:). I rebuild almost whole language model, I had some problems with database extensions like ibm_db2 (these extensions are not updated), but core elements and most of other elements are up to date.

Michal

On Fri, Oct 3, 2014 at 1:07 PM, Michał Niewrzał <michal.n@xxxxxxxx> wrote:
I updated previous patch with new functionality:
* Variadic Parameters
* Unpacking Arguments


Michal

On Mon, Sep 29, 2014 at 4:59 PM, Dawid Pakuła <zulus@xxxxxxxxx> wrote:
Hi,

On 29 września 2014 at 15:19:34, Michał Niewrzał (michal.n@xxxxxxxx) wrote:

Hi,
I started implementation of variadic parameters. Actually I'm not sure how exactly it should be done correctly, I don't know every part of PDT so it is hard to predict all implications.

Probably none know now ;)

 I'm talking mainly about AST nodes structure. My first shot was to just extend FormalParameter with 'isVariadic' flag, but maybe it is to simple approach:) I will be grateful for every suggestion :)

PHP 7 will introduce AST-based compilation, and as I see in parser [1] isReference and isVariadic are just a flags. So we can also use just a flag. 

We should remember about this flag in in TI, CA, Formatter and label providers. FormatParameter#isVariadic should simplify an access.

But, if you introduce special field (like isOptional), you have to remember about ASTMatcher.

[1] - https://github.com/php/php-src/blob/master/Zend/zend_language_parser.y#L546



Michal

On Fri, Sep 26, 2014 at 12:23 PM, Michał Niewrzał <michal.n@xxxxxxxx> wrote:
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

These two elements can be tested already. Any feedback (positive or negative) is appreciated :) 

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 <zulus@xxxxxxxxx> 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 <zulus@xxxxxxxxx> 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. 


--
Dawid Pakuła 

ul. Grabiszyńska 108/10
53-437 Wrocław
NIP: 894-293-95-95
REGON: 340769757

From: Michał Niewrzał <michal.n@xxxxxxxx>
Reply: PDT Developers <pdt-dev@xxxxxxxxxxx>>
Date: 17 września 2014 at 23:53:02
To: PDT Developers <pdt-dev@xxxxxxxxxxx>>
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@xxxxxxxxxxx
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@xxxxxxxxxxx
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@xxxxxxxxxxx 
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@xxxxxxxxxxx
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@xxxxxxxxxxx 
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@xxxxxxxxxxx
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@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Back to the top