Hi,

On 29 września 2014 at 15:19:34, Michał Niewrzał (micha...@zend.com) 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ł <micha...@zend.com> 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
* 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>
Reply: PDT Developers <pdt-dev@eclipse.org>>
Date: 17 września 2014 at 23:53:02
To: PDT Developers <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
_______________________________________________
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