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