LiClipse

Fabio Zadrozny fabiofz at gmail.com
Sat Mar 23 13:56:34 EDT 2013


On Sat, Mar 23, 2013 at 2:27 PM, rusi <rustompmody at gmail.com> wrote:

> On Mar 23, 4:11 pm, Fabio Zadrozny <fabi... at gmail.com> wrote:
> > On Sat, Mar 23, 2013 at 12:38 AM, rusi <rustompm... at gmail.com> wrote:
> > >
> > > ie Eclipse-4 claims to have made plugin development (for new custom
> > > languages) easier.
> > > What is the relation of liclipse to eclipse 3<->4 plugin architecture?
> >
> > Well, it may have become a bit easier (with dltk and xtext), but it's
> still
> > far from trivial (you still have to know at least java, how plugins work,
> > eclipse internals, creating a grammar, etc.).
>
> I still have one (quite general) question:
> When eclipse 'does' pydev, is it mostly in java or in python?
>
> Using python's native parser etc makes the analysis more reliable at
> the cost of more fragile, non-portable(?) etc plumbing between java
> and python.
>
> Whereas rewriting python's parsing etc in java, makes the basic
> architecture easier but will always keep you behind target when say
> python changes/adds to its syntax/feature set etc.
>

Parsing in PyDev is done at java (so, yes, I have to update it when Python
itself goes forward).

Still, note that even if I was in Python and could use the Python parser, I
don't think that using the internal Python parser would be a good choice
(because it ends up being too fragile for me -- i.e.: if the IDE is done
using Python 2.x it wouldn't be able to analyze a Python 3 codebase --
unless it spawned scripts based on the configured Python you're developing
against, but things as a proper code analysis would prove very difficult to
do that way).

Also, the feature set from the PyDev grammar is different from the Python
grammar:

For example:
- it has to be fault tolerant (because you'll still want to see the outline
and get code completion even if you don't have the complete file correct)
- it may need to store more information in case a pretty-printing is needed
later on (so, the Python grammar can get something as "a = (1)" and remove
the parenthesis as they don't make part of the AST, as that's the same as
"a = 1" but in case you were pretty-printing the AST you may not want to
throw that away).


>
> Which do you choose? And are the new facilities in Juno easier for
> cross-language feature-sets?
>

As for easier cross-language feature sets, not sure what exactly are you
referring to... (but I don't think Eclipse 4 itself changed much from the
existing status quo... it's may difference in the programming model is on
the dependency injection, so some APIs are cleaner now -- besides the UI
changes).

Cheers,

Fabio


> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130323/eb55da31/attachment.html>


More information about the Python-list mailing list