Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » IMP » Pros and cons with projects xtext and imp
Pros and cons with projects xtext and imp [message #24818] Mon, 27 October 2008 18:24 Go to next message
Eclipse UserFriend
Originally posted by: mattias.felt.removethis.esu.edu

Hi all,

This message is intentionally cross-posted to both tmf and imp newsgroups.

We are about to implement a DSL IDE for a customer based on Eclipse. When I
started
to investigate which way to go I found both xtext and IMP as two good
candidates.

The challange for me is to implement a samewhat basic support at first and
then gradually add more features, ending up
with a IDE with support for both refactoring and static code analysis. So I
understand what the solution can not be
to simplistic at first and that a strong good data model (perhaps EMP based)
must exists at the back-end.

I guess that the 2 projects (TMF and IMP) must be targeting two slightly
different areas otherwise they should no co-exist at eclipse.org, but
I would really like to understand more about the differnces between the
projects (something lika a pros and cons lists).

Any ideas/suggestions/comments appreciated (except any comment that I should
not cross-post ;-)

BR

M
Re: Pros and cons with projects xtext and imp [message #24851 is a reply to message #24818] Thu, 30 October 2008 08:25 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: sven.efftinge.de

Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #24882 is a reply to message #24818] Thu, 30 October 2008 09:42 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: sven.efftinge.de

Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #25011 is a reply to message #24818] Thu, 30 October 2008 09:44 Go to previous messageGo to next message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #25053 is a reply to message #25011] Fri, 31 October 2008 13:32 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: mattias.felt.removethis.esu.edu

Hi Sven,

Thanks for your answer, but from your answer I wonder if we should use parts
of IMP and parts of xtext !

In our customer case the expectations of a rich UI experience are high but
at the same time we know that semantic checks, static code analysis and
refactoring
are feature of the future. So we need a strong capable back-end model (AST,
DOM/PDOM etc) but also the UI parts must interact with the model with high
performance and with a rich feature set.

Perhaps in our case the selection should be based on the requirements of the
model, and that the UI parts must be somewhat handwritten anyway.

I got no reply from the IMP team, but I guess that LPG parser has a good
track recording in beeing used by other Eclipse IDE. But it would have
been instresting to get something from theme as well.


BR

M







"Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
news:490981E5.2080801@itemis.de...
> Hi Mattias,
>
> the main difference between Xtext and IMP is that Xtext uses the grammar
> to derive as much as possible and is built upon EMF and Antlr. In
> contrast IMP let's you plug in arbitrary parsers and AST technologies
> and is much more focused on the UI part where Xtext also focusses on the
> frontend, parsing technology.
>
> So if you can't live with an Antlr3-based parser and an EMF based AST
> Xtext is not for you.
>
> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
> kit), but when we started development the APIs where moving a lot so we
> decided to wait.
>
> Also note that TMF Xtext is still in a very early stage. Although we
> (itemis) have started to use it in commercial projects, it still lacks
> some important features as well as good documentation. And some APIs
> might change until API freeze which is due 03/19/2009 (M6).
>
> Hopefully I could shed some light on this.
>
> regards,
> Sven
>
> Mattias Felt schrieb:
>> Hi all,
>>
>> This message is intentionally cross-posted to both tmf and imp
>> newsgroups.
>>
>> We are about to implement a DSL IDE for a customer based on Eclipse. When
>> I started
>> to investigate which way to go I found both xtext and IMP as two good
>> candidates.
>>
>> The challange for me is to implement a samewhat basic support at first
>> and then gradually add more features, ending up
>> with a IDE with support for both refactoring and static code analysis. So
>> I understand what the solution can not be
>> to simplistic at first and that a strong good data model (perhaps EMP
>> based) must exists at the back-end.
>>
>> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
>> different areas otherwise they should no co-exist at eclipse.org, but
>> I would really like to understand more about the differnces between the
>> projects (something lika a pros and cons lists).
>>
>> Any ideas/suggestions/comments appreciated (except any comment that I
>> should not cross-post ;-)
>>
>> BR
>>
>> M
>>
Re: Pros and cons with projects xtext and imp [message #25094 is a reply to message #25053] Fri, 31 October 2008 14:54 Go to previous messageGo to next message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Xtext is focussing on end-to-end support for DSLs.
This means
- runtime (parsing, analyses, etc.) as well as
- ui (editor, navigation, etc.)

It's just that we don't have builds yet, which are suitable for end
users. As I outlined, there are still some important features missing,
no good documentation and propably lots of bugs (we do unit testing, yes).

So in the long run building a DSL IDE sounds like a perfect fit for
Xtext. But right now, you'ld have to invest some time in order to find
out how things work and those things might still change.

I don't know if it's valuable to use both IMP and Xtext in conjunction,
if you try let us know :-)

Sven


Mattias Felt schrieb:
> Hi Sven,
>
> Thanks for your answer, but from your answer I wonder if we should use parts
> of IMP and parts of xtext !
>
> In our customer case the expectations of a rich UI experience are high but
> at the same time we know that semantic checks, static code analysis and
> refactoring
> are feature of the future. So we need a strong capable back-end model (AST,
> DOM/PDOM etc) but also the UI parts must interact with the model with high
> performance and with a rich feature set.
>
> Perhaps in our case the selection should be based on the requirements of the
> model, and that the UI parts must be somewhat handwritten anyway.
>
> I got no reply from the IMP team, but I guess that LPG parser has a good
> track recording in beeing used by other Eclipse IDE. But it would have
> been instresting to get something from theme as well.
>
>
> BR
>
> M
>
>
>
>
>
>
>
> "Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
> news:490981E5.2080801@itemis.de...
>> Hi Mattias,
>>
>> the main difference between Xtext and IMP is that Xtext uses the grammar
>> to derive as much as possible and is built upon EMF and Antlr. In
>> contrast IMP let's you plug in arbitrary parsers and AST technologies
>> and is much more focused on the UI part where Xtext also focusses on the
>> frontend, parsing technology.
>>
>> So if you can't live with an Antlr3-based parser and an EMF based AST
>> Xtext is not for you.
>>
>> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
>> kit), but when we started development the APIs where moving a lot so we
>> decided to wait.
>>
>> Also note that TMF Xtext is still in a very early stage. Although we
>> (itemis) have started to use it in commercial projects, it still lacks
>> some important features as well as good documentation. And some APIs
>> might change until API freeze which is due 03/19/2009 (M6).
>>
>> Hopefully I could shed some light on this.
>>
>> regards,
>> Sven
>>
>> Mattias Felt schrieb:
>>> Hi all,
>>>
>>> This message is intentionally cross-posted to both tmf and imp
>>> newsgroups.
>>>
>>> We are about to implement a DSL IDE for a customer based on Eclipse. When
>>> I started
>>> to investigate which way to go I found both xtext and IMP as two good
>>> candidates.
>>>
>>> The challange for me is to implement a samewhat basic support at first
>>> and then gradually add more features, ending up
>>> with a IDE with support for both refactoring and static code analysis. So
>>> I understand what the solution can not be
>>> to simplistic at first and that a strong good data model (perhaps EMP
>>> based) must exists at the back-end.
>>>
>>> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
>>> different areas otherwise they should no co-exist at eclipse.org, but
>>> I would really like to understand more about the differnces between the
>>> projects (something lika a pros and cons lists).
>>>
>>> Any ideas/suggestions/comments appreciated (except any comment that I
>>> should not cross-post ;-)
>>>
>>> BR
>>>
>>> M
>>>
>
>
Re: Pros and cons with projects xtext and imp [message #25135 is a reply to message #25053] Tue, 04 November 2008 16:06 Go to previous messageGo to next message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
Mattias:

imp seem better for you. After you understood the basic aspects of imp, you
will find the life's easiness.
DLTK is another imp-like eclipse project.I highly guess that there is a
large common thing between them.I suggust to doing some merge to avoid code
wasting^_~However, imp provides a parser support to dlkt.
xText seem intesting.But it is built on more complex technology. For some
small DSLs, xText is possibly nice. For complex Scenario, I guess there is a
long way for the technology of model to language.

best regards,
Jin
Re: Pros and cons with projects xtext and imp [message #25176 is a reply to message #24851] Tue, 04 November 2008 16:10 Go to previous messageGo to next message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
Hi, Sven
one question - why not to consider EMF+LPG in xText? LPG is more "eclipse"
than antlr^_^(we would like to eat own dog food^_^)

best regards,
Jin
Re: Pros and cons with projects xtext and imp [message #25419 is a reply to message #25094] Wed, 12 November 2008 19:01 Go to previous messageGo to next message
Stan Sutton is currently offline Stan SuttonFriend
Messages: 121
Registered: July 2009
Senior Member
Sorry not to have replied from IMP sooner! We have been taking some
time off recently.

I don't know about Xtext (yet). I should say that Sven's
characterization of the main differences between Xtext and IMP seems
reasonable to me. I can give some more details on IMP:

Two of the principal goals of IMP are
1) to make the IDE independent of the front end
2) to facilitate customization of the IDE
As part of the approach to facilitating customization of the IDE, IMP
does not rely on generation of UI and related components based on the
grammar.

In IMP you build up the IDE one service at a time, after you have
provided the parser-related components. (As noted, IMP provides support
for using LPG to specify the grammar and generate the parser, but the
parser can be built or obtained in other ways.)

For most of the IDE services, you run a wizard that generates a skeleton
implementation of the service. Then you must do some programming to
complete or customize the service for your language and desired
behaviors. We have tried to localize, focus, and simplify the amount of
programming that must be done in typical cases. It is more work to do
this programming than simply generating the implementation, but we think
that the prospects for customization should be much greater.
Conversely, it is much, much less than building the service from scratch.

For some services you write a customized specification in a DSL and then
IMP generates the service implementation from that.

In a few cases, once you have prerequisite services in place, you get an
additional service for free.

These seem to be the main differences between Xtext and IMP:
- how you produce or provide the parser
- whether the service implementations are created automatically or
semi-automatically

As a result, I would expect some differences relating to the
customization of IDE services: what you can customize, how
customization is achieved, how easy or hard it is, etc. But without
knowing more about Xtext I can't give a specific comparison on this.

It does seem that IMP may be farther along (more completely usable) at
this point.

There may also be some differences in terms of the feature set
supported. Probably there will be considerable overlap, but the
supported features sets may not be identical.

I'm not sure of the significance of this, but Sven has described the
concerns of Xtext as follows:
- runtime (parsing, analyses, etc.) as well as
- ui (editor, navigation, etc.)
For IMP, we separate the parsing, and then consider various analyses
(including refactorings) and UI elements (token coloring, navigation,
outline view, etc.) all as IDE services. You can combine analysis with
parsing but also add it (and other services) as separate pieces at later
stages of IDE development. IMP provides some mechanism for keeping
these organized properly at runtime, although we probably need to enrich
this. Anyway, the organization of various kinds of services or
components may or may not represent a significant difference between
Xtext and IMP.

Regards,

Stan Sutton



Sven Efftinge wrote:
> Xtext is focussing on end-to-end support for DSLs.
> This means
> - runtime (parsing, analyses, etc.) as well as
> - ui (editor, navigation, etc.)
>
> It's just that we don't have builds yet, which are suitable for end
> users. As I outlined, there are still some important features missing,
> no good documentation and propably lots of bugs (we do unit testing, yes).
>
> So in the long run building a DSL IDE sounds like a perfect fit for
> Xtext. But right now, you'ld have to invest some time in order to find
> out how things work and those things might still change.
>
> I don't know if it's valuable to use both IMP and Xtext in conjunction,
> if you try let us know :-)
>
> Sven
>
>
> Mattias Felt schrieb:
>> Hi Sven,
>>
>> Thanks for your answer, but from your answer I wonder if we should use
>> parts of IMP and parts of xtext !
>>
>> In our customer case the expectations of a rich UI experience are high
>> but at the same time we know that semantic checks, static code
>> analysis and refactoring
>> are feature of the future. So we need a strong capable back-end model
>> (AST, DOM/PDOM etc) but also the UI parts must interact with the model
>> with high performance and with a rich feature set.
>>
>> Perhaps in our case the selection should be based on the requirements
>> of the model, and that the UI parts must be somewhat handwritten anyway.
>>
>> I got no reply from the IMP team, but I guess that LPG parser has a
>> good track recording in beeing used by other Eclipse IDE. But it would
>> have
>> been instresting to get something from theme as well.
>>
>>
>> BR
>>
>> M
>>
>>
>>
>>
>>
>>
>>
>> "Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
>> news:490981E5.2080801@itemis.de...
>>> Hi Mattias,
>>>
>>> the main difference between Xtext and IMP is that Xtext uses the grammar
>>> to derive as much as possible and is built upon EMF and Antlr. In
>>> contrast IMP let's you plug in arbitrary parsers and AST technologies
>>> and is much more focused on the UI part where Xtext also focusses on the
>>> frontend, parsing technology.
>>>
>>> So if you can't live with an Antlr3-based parser and an EMF based AST
>>> Xtext is not for you.
>>>
>>> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
>>> kit), but when we started development the APIs where moving a lot so we
>>> decided to wait.
>>>
>>> Also note that TMF Xtext is still in a very early stage. Although we
>>> (itemis) have started to use it in commercial projects, it still lacks
>>> some important features as well as good documentation. And some APIs
>>> might change until API freeze which is due 03/19/2009 (M6).
>>>
>>> Hopefully I could shed some light on this.
>>>
>>> regards,
>>> Sven
>>>
>>> Mattias Felt schrieb:
>>>> Hi all,
>>>>
>>>> This message is intentionally cross-posted to both tmf and imp
>>>> newsgroups.
>>>>
>>>> We are about to implement a DSL IDE for a customer based on Eclipse.
>>>> When I started
>>>> to investigate which way to go I found both xtext and IMP as two
>>>> good candidates.
>>>>
>>>> The challange for me is to implement a samewhat basic support at
>>>> first and then gradually add more features, ending up
>>>> with a IDE with support for both refactoring and static code
>>>> analysis. So I understand what the solution can not be
>>>> to simplistic at first and that a strong good data model (perhaps
>>>> EMP based) must exists at the back-end.
>>>>
>>>> I guess that the 2 projects (TMF and IMP) must be targeting two
>>>> slightly different areas otherwise they should no co-exist at
>>>> eclipse.org, but
>>>> I would really like to understand more about the differnces between
>>>> the projects (something lika a pros and cons lists).
>>>>
>>>> Any ideas/suggestions/comments appreciated (except any comment that
>>>> I should not cross-post ;-)
>>>>
>>>> BR
>>>>
>>>> M
>>>>
>>
>>
Re: Pros and cons with projects xtext and imp [message #25682 is a reply to message #25176] Thu, 20 November 2008 00:56 Go to previous messageGo to next message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
There are several reasons why we chose Antlr.
The most important is, that it's LL not LR.
We use the forward parsing nature of LL in code assistant, for instance.
It's also much easier to debug and provides better information for
incomplete models.

Why do you think that LPG is more "eclipse"?

Sven


jin.phd@gmail.com schrieb:
> Hi, Sven
> one question - why not to consider EMF+LPG in xText? LPG is more "eclipse"
> than antlr^_^(we would like to eat own dog food^_^)
>
> best regards,
> Jin
>
>
Re: Pros and cons with projects xtext and imp [message #25710 is a reply to message #25135] Thu, 20 November 2008 00:57 Go to previous messageGo to next message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
A lot of guessing, I guess ;-)

jin.phd@gmail.com schrieb:
> Mattias:
>
> imp seem better for you. After you understood the basic aspects of imp, you
> will find the life's easiness.
> DLTK is another imp-like eclipse project.I highly guess that there is a
> large common thing between them.I suggust to doing some merge to avoid code
> wasting^_~However, imp provides a parser support to dlkt.
> xText seem intesting.But it is built on more complex technology. For some
> small DSLs, xText is possibly nice. For complex Scenario, I guess there is a
> long way for the technology of model to language.
>
> best regards,
> Jin
>
>
Re: Pros and cons with projects xtext and imp [message #26336 is a reply to message #25682] Tue, 10 February 2009 09:08 Go to previous message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
hi, Sven:
I'm not an LPG expert. But I'm just an LPG user as well:) I like to answer
some questions as I known,

> Why do you think that LPG is more "eclipse"?
some projects in eclipse have used the LPG, jdt(modified verison as I
understand)/cdt/mdt(ocl)/dtp/wtp... it wiill be a big community in the
future, I think.

> We use the forward parsing nature of LL in code assistant, for instance.
cdt've done this problem cleverly to tackling with c/cpp using lpg. and imp
provide a general framework.

> The most important is, that it's LL not LR.
LL vs LR is an old topic. we have not speaking right to deepen into it. I
just say the antlr and lpg are both great. Both of them could be used to
deal with a large pieces of parser gen. work. It is nice to choose any each.
My words about "dog food" is just my peroson viewpoint. I must to say, have
no prejudice against antlr. The antlr v 3 do a great job in the parser gen
field.

Jin
Re: Pros and cons with projects xtext and imp [message #573753 is a reply to message #24818] Thu, 30 October 2008 08:25 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #573812 is a reply to message #24818] Thu, 30 October 2008 09:42 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #573845 is a reply to message #24818] Thu, 30 October 2008 09:44 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Hi Mattias,

the main difference between Xtext and IMP is that Xtext uses the grammar
to derive as much as possible and is built upon EMF and Antlr. In
contrast IMP let's you plug in arbitrary parsers and AST technologies
and is much more focused on the UI part where Xtext also focusses on the
frontend, parsing technology.

So if you can't live with an Antlr3-based parser and an EMF based AST
Xtext is not for you.

Note, that in future Xtext might use IMP and DLTK (dynamic language tool
kit), but when we started development the APIs where moving a lot so we
decided to wait.

Also note that TMF Xtext is still in a very early stage. Although we
(itemis) have started to use it in commercial projects, it still lacks
some important features as well as good documentation. And some APIs
might change until API freeze which is due 03/19/2009 (M6).

Hopefully I could shed some light on this.

regards,
Sven

Mattias Felt schrieb:
> Hi all,
>
> This message is intentionally cross-posted to both tmf and imp newsgroups.
>
> We are about to implement a DSL IDE for a customer based on Eclipse. When I
> started
> to investigate which way to go I found both xtext and IMP as two good
> candidates.
>
> The challange for me is to implement a samewhat basic support at first and
> then gradually add more features, ending up
> with a IDE with support for both refactoring and static code analysis. So I
> understand what the solution can not be
> to simplistic at first and that a strong good data model (perhaps EMP based)
> must exists at the back-end.
>
> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
> different areas otherwise they should no co-exist at eclipse.org, but
> I would really like to understand more about the differnces between the
> projects (something lika a pros and cons lists).
>
> Any ideas/suggestions/comments appreciated (except any comment that I should
> not cross-post ;-)
>
> BR
>
> M
>
Re: Pros and cons with projects xtext and imp [message #573876 is a reply to message #25011] Fri, 31 October 2008 13:32 Go to previous message
Eclipse UserFriend
Originally posted by: mattias.felt.removethis.esu.edu

Hi Sven,

Thanks for your answer, but from your answer I wonder if we should use parts
of IMP and parts of xtext !

In our customer case the expectations of a rich UI experience are high but
at the same time we know that semantic checks, static code analysis and
refactoring
are feature of the future. So we need a strong capable back-end model (AST,
DOM/PDOM etc) but also the UI parts must interact with the model with high
performance and with a rich feature set.

Perhaps in our case the selection should be based on the requirements of the
model, and that the UI parts must be somewhat handwritten anyway.

I got no reply from the IMP team, but I guess that LPG parser has a good
track recording in beeing used by other Eclipse IDE. But it would have
been instresting to get something from theme as well.


BR

M







"Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
news:490981E5.2080801@itemis.de...
> Hi Mattias,
>
> the main difference between Xtext and IMP is that Xtext uses the grammar
> to derive as much as possible and is built upon EMF and Antlr. In
> contrast IMP let's you plug in arbitrary parsers and AST technologies
> and is much more focused on the UI part where Xtext also focusses on the
> frontend, parsing technology.
>
> So if you can't live with an Antlr3-based parser and an EMF based AST
> Xtext is not for you.
>
> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
> kit), but when we started development the APIs where moving a lot so we
> decided to wait.
>
> Also note that TMF Xtext is still in a very early stage. Although we
> (itemis) have started to use it in commercial projects, it still lacks
> some important features as well as good documentation. And some APIs
> might change until API freeze which is due 03/19/2009 (M6).
>
> Hopefully I could shed some light on this.
>
> regards,
> Sven
>
> Mattias Felt schrieb:
>> Hi all,
>>
>> This message is intentionally cross-posted to both tmf and imp
>> newsgroups.
>>
>> We are about to implement a DSL IDE for a customer based on Eclipse. When
>> I started
>> to investigate which way to go I found both xtext and IMP as two good
>> candidates.
>>
>> The challange for me is to implement a samewhat basic support at first
>> and then gradually add more features, ending up
>> with a IDE with support for both refactoring and static code analysis. So
>> I understand what the solution can not be
>> to simplistic at first and that a strong good data model (perhaps EMP
>> based) must exists at the back-end.
>>
>> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
>> different areas otherwise they should no co-exist at eclipse.org, but
>> I would really like to understand more about the differnces between the
>> projects (something lika a pros and cons lists).
>>
>> Any ideas/suggestions/comments appreciated (except any comment that I
>> should not cross-post ;-)
>>
>> BR
>>
>> M
>>
Re: Pros and cons with projects xtext and imp [message #573899 is a reply to message #25053] Fri, 31 October 2008 14:54 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
Xtext is focussing on end-to-end support for DSLs.
This means
- runtime (parsing, analyses, etc.) as well as
- ui (editor, navigation, etc.)

It's just that we don't have builds yet, which are suitable for end
users. As I outlined, there are still some important features missing,
no good documentation and propably lots of bugs (we do unit testing, yes).

So in the long run building a DSL IDE sounds like a perfect fit for
Xtext. But right now, you'ld have to invest some time in order to find
out how things work and those things might still change.

I don't know if it's valuable to use both IMP and Xtext in conjunction,
if you try let us know :-)

Sven


Mattias Felt schrieb:
> Hi Sven,
>
> Thanks for your answer, but from your answer I wonder if we should use parts
> of IMP and parts of xtext !
>
> In our customer case the expectations of a rich UI experience are high but
> at the same time we know that semantic checks, static code analysis and
> refactoring
> are feature of the future. So we need a strong capable back-end model (AST,
> DOM/PDOM etc) but also the UI parts must interact with the model with high
> performance and with a rich feature set.
>
> Perhaps in our case the selection should be based on the requirements of the
> model, and that the UI parts must be somewhat handwritten anyway.
>
> I got no reply from the IMP team, but I guess that LPG parser has a good
> track recording in beeing used by other Eclipse IDE. But it would have
> been instresting to get something from theme as well.
>
>
> BR
>
> M
>
>
>
>
>
>
>
> "Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
> news:490981E5.2080801@itemis.de...
>> Hi Mattias,
>>
>> the main difference between Xtext and IMP is that Xtext uses the grammar
>> to derive as much as possible and is built upon EMF and Antlr. In
>> contrast IMP let's you plug in arbitrary parsers and AST technologies
>> and is much more focused on the UI part where Xtext also focusses on the
>> frontend, parsing technology.
>>
>> So if you can't live with an Antlr3-based parser and an EMF based AST
>> Xtext is not for you.
>>
>> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
>> kit), but when we started development the APIs where moving a lot so we
>> decided to wait.
>>
>> Also note that TMF Xtext is still in a very early stage. Although we
>> (itemis) have started to use it in commercial projects, it still lacks
>> some important features as well as good documentation. And some APIs
>> might change until API freeze which is due 03/19/2009 (M6).
>>
>> Hopefully I could shed some light on this.
>>
>> regards,
>> Sven
>>
>> Mattias Felt schrieb:
>>> Hi all,
>>>
>>> This message is intentionally cross-posted to both tmf and imp
>>> newsgroups.
>>>
>>> We are about to implement a DSL IDE for a customer based on Eclipse. When
>>> I started
>>> to investigate which way to go I found both xtext and IMP as two good
>>> candidates.
>>>
>>> The challange for me is to implement a samewhat basic support at first
>>> and then gradually add more features, ending up
>>> with a IDE with support for both refactoring and static code analysis. So
>>> I understand what the solution can not be
>>> to simplistic at first and that a strong good data model (perhaps EMP
>>> based) must exists at the back-end.
>>>
>>> I guess that the 2 projects (TMF and IMP) must be targeting two slightly
>>> different areas otherwise they should no co-exist at eclipse.org, but
>>> I would really like to understand more about the differnces between the
>>> projects (something lika a pros and cons lists).
>>>
>>> Any ideas/suggestions/comments appreciated (except any comment that I
>>> should not cross-post ;-)
>>>
>>> BR
>>>
>>> M
>>>
>
>
Re: Pros and cons with projects xtext and imp [message #573928 is a reply to message #25053] Tue, 04 November 2008 16:06 Go to previous message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
Mattias:

imp seem better for you. After you understood the basic aspects of imp, you
will find the life's easiness.
DLTK is another imp-like eclipse project.I highly guess that there is a
large common thing between them.I suggust to doing some merge to avoid code
wasting^_~However, imp provides a parser support to dlkt.
xText seem intesting.But it is built on more complex technology. For some
small DSLs, xText is possibly nice. For complex Scenario, I guess there is a
long way for the technology of model to language.

best regards,
Jin
Re: Pros and cons with projects xtext and imp [message #573946 is a reply to message #24851] Tue, 04 November 2008 16:10 Go to previous message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
Hi, Sven
one question - why not to consider EMF+LPG in xText? LPG is more "eclipse"
than antlr^_^(we would like to eat own dog food^_^)

best regards,
Jin
Re: Pros and cons with projects xtext and imp [message #574117 is a reply to message #25094] Wed, 12 November 2008 19:01 Go to previous message
Stan Sutton is currently offline Stan SuttonFriend
Messages: 121
Registered: July 2009
Senior Member
Sorry not to have replied from IMP sooner! We have been taking some
time off recently.

I don't know about Xtext (yet). I should say that Sven's
characterization of the main differences between Xtext and IMP seems
reasonable to me. I can give some more details on IMP:

Two of the principal goals of IMP are
1) to make the IDE independent of the front end
2) to facilitate customization of the IDE
As part of the approach to facilitating customization of the IDE, IMP
does not rely on generation of UI and related components based on the
grammar.

In IMP you build up the IDE one service at a time, after you have
provided the parser-related components. (As noted, IMP provides support
for using LPG to specify the grammar and generate the parser, but the
parser can be built or obtained in other ways.)

For most of the IDE services, you run a wizard that generates a skeleton
implementation of the service. Then you must do some programming to
complete or customize the service for your language and desired
behaviors. We have tried to localize, focus, and simplify the amount of
programming that must be done in typical cases. It is more work to do
this programming than simply generating the implementation, but we think
that the prospects for customization should be much greater.
Conversely, it is much, much less than building the service from scratch.

For some services you write a customized specification in a DSL and then
IMP generates the service implementation from that.

In a few cases, once you have prerequisite services in place, you get an
additional service for free.

These seem to be the main differences between Xtext and IMP:
- how you produce or provide the parser
- whether the service implementations are created automatically or
semi-automatically

As a result, I would expect some differences relating to the
customization of IDE services: what you can customize, how
customization is achieved, how easy or hard it is, etc. But without
knowing more about Xtext I can't give a specific comparison on this.

It does seem that IMP may be farther along (more completely usable) at
this point.

There may also be some differences in terms of the feature set
supported. Probably there will be considerable overlap, but the
supported features sets may not be identical.

I'm not sure of the significance of this, but Sven has described the
concerns of Xtext as follows:
- runtime (parsing, analyses, etc.) as well as
- ui (editor, navigation, etc.)
For IMP, we separate the parsing, and then consider various analyses
(including refactorings) and UI elements (token coloring, navigation,
outline view, etc.) all as IDE services. You can combine analysis with
parsing but also add it (and other services) as separate pieces at later
stages of IDE development. IMP provides some mechanism for keeping
these organized properly at runtime, although we probably need to enrich
this. Anyway, the organization of various kinds of services or
components may or may not represent a significant difference between
Xtext and IMP.

Regards,

Stan Sutton



Sven Efftinge wrote:
> Xtext is focussing on end-to-end support for DSLs.
> This means
> - runtime (parsing, analyses, etc.) as well as
> - ui (editor, navigation, etc.)
>
> It's just that we don't have builds yet, which are suitable for end
> users. As I outlined, there are still some important features missing,
> no good documentation and propably lots of bugs (we do unit testing, yes).
>
> So in the long run building a DSL IDE sounds like a perfect fit for
> Xtext. But right now, you'ld have to invest some time in order to find
> out how things work and those things might still change.
>
> I don't know if it's valuable to use both IMP and Xtext in conjunction,
> if you try let us know :-)
>
> Sven
>
>
> Mattias Felt schrieb:
>> Hi Sven,
>>
>> Thanks for your answer, but from your answer I wonder if we should use
>> parts of IMP and parts of xtext !
>>
>> In our customer case the expectations of a rich UI experience are high
>> but at the same time we know that semantic checks, static code
>> analysis and refactoring
>> are feature of the future. So we need a strong capable back-end model
>> (AST, DOM/PDOM etc) but also the UI parts must interact with the model
>> with high performance and with a rich feature set.
>>
>> Perhaps in our case the selection should be based on the requirements
>> of the model, and that the UI parts must be somewhat handwritten anyway.
>>
>> I got no reply from the IMP team, but I guess that LPG parser has a
>> good track recording in beeing used by other Eclipse IDE. But it would
>> have
>> been instresting to get something from theme as well.
>>
>>
>> BR
>>
>> M
>>
>>
>>
>>
>>
>>
>>
>> "Sven Efftinge" <sven.efftinge@itemis.de> skrev i meddelandet
>> news:490981E5.2080801@itemis.de...
>>> Hi Mattias,
>>>
>>> the main difference between Xtext and IMP is that Xtext uses the grammar
>>> to derive as much as possible and is built upon EMF and Antlr. In
>>> contrast IMP let's you plug in arbitrary parsers and AST technologies
>>> and is much more focused on the UI part where Xtext also focusses on the
>>> frontend, parsing technology.
>>>
>>> So if you can't live with an Antlr3-based parser and an EMF based AST
>>> Xtext is not for you.
>>>
>>> Note, that in future Xtext might use IMP and DLTK (dynamic language tool
>>> kit), but when we started development the APIs where moving a lot so we
>>> decided to wait.
>>>
>>> Also note that TMF Xtext is still in a very early stage. Although we
>>> (itemis) have started to use it in commercial projects, it still lacks
>>> some important features as well as good documentation. And some APIs
>>> might change until API freeze which is due 03/19/2009 (M6).
>>>
>>> Hopefully I could shed some light on this.
>>>
>>> regards,
>>> Sven
>>>
>>> Mattias Felt schrieb:
>>>> Hi all,
>>>>
>>>> This message is intentionally cross-posted to both tmf and imp
>>>> newsgroups.
>>>>
>>>> We are about to implement a DSL IDE for a customer based on Eclipse.
>>>> When I started
>>>> to investigate which way to go I found both xtext and IMP as two
>>>> good candidates.
>>>>
>>>> The challange for me is to implement a samewhat basic support at
>>>> first and then gradually add more features, ending up
>>>> with a IDE with support for both refactoring and static code
>>>> analysis. So I understand what the solution can not be
>>>> to simplistic at first and that a strong good data model (perhaps
>>>> EMP based) must exists at the back-end.
>>>>
>>>> I guess that the 2 projects (TMF and IMP) must be targeting two
>>>> slightly different areas otherwise they should no co-exist at
>>>> eclipse.org, but
>>>> I would really like to understand more about the differnces between
>>>> the projects (something lika a pros and cons lists).
>>>>
>>>> Any ideas/suggestions/comments appreciated (except any comment that
>>>> I should not cross-post ;-)
>>>>
>>>> BR
>>>>
>>>> M
>>>>
>>
>>
Re: Pros and cons with projects xtext and imp [message #574345 is a reply to message #25176] Thu, 20 November 2008 00:56 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
There are several reasons why we chose Antlr.
The most important is, that it's LL not LR.
We use the forward parsing nature of LL in code assistant, for instance.
It's also much easier to debug and provides better information for
incomplete models.

Why do you think that LPG is more "eclipse"?

Sven


jin.phd@gmail.com schrieb:
> Hi, Sven
> one question - why not to consider EMF+LPG in xText? LPG is more "eclipse"
> than antlr^_^(we would like to eat own dog food^_^)
>
> best regards,
> Jin
>
>
Re: Pros and cons with projects xtext and imp [message #574371 is a reply to message #25135] Thu, 20 November 2008 00:57 Go to previous message
Sven Efftinge is currently offline Sven EfftingeFriend
Messages: 1823
Registered: July 2009
Senior Member
A lot of guessing, I guess ;-)

jin.phd@gmail.com schrieb:
> Mattias:
>
> imp seem better for you. After you understood the basic aspects of imp, you
> will find the life's easiness.
> DLTK is another imp-like eclipse project.I highly guess that there is a
> large common thing between them.I suggust to doing some merge to avoid code
> wasting^_~However, imp provides a parser support to dlkt.
> xText seem intesting.But it is built on more complex technology. For some
> small DSLs, xText is possibly nice. For complex Scenario, I guess there is a
> long way for the technology of model to language.
>
> best regards,
> Jin
>
>
Re: Pros and cons with projects xtext and imp [message #574804 is a reply to message #25682] Tue, 10 February 2009 09:08 Go to previous message
Jin Missing name is currently offline Jin Missing nameFriend
Messages: 100
Registered: July 2009
Senior Member
hi, Sven:
I'm not an LPG expert. But I'm just an LPG user as well:) I like to answer
some questions as I known,

> Why do you think that LPG is more "eclipse"?
some projects in eclipse have used the LPG, jdt(modified verison as I
understand)/cdt/mdt(ocl)/dtp/wtp... it wiill be a big community in the
future, I think.

> We use the forward parsing nature of LL in code assistant, for instance.
cdt've done this problem cleverly to tackling with c/cpp using lpg. and imp
provide a general framework.

> The most important is, that it's LL not LR.
LL vs LR is an old topic. we have not speaking right to deepen into it. I
just say the antlr and lpg are both great. Both of them could be used to
deal with a large pieces of parser gen. work. It is nice to choose any each.
My words about "dog food" is just my peroson viewpoint. I must to say, have
no prejudice against antlr. The antlr v 3 do a great job in the parser gen
field.

Jin
Previous Topic:parsing on multiple file using symbol table
Next Topic:What is a ModelTreeNode category?
Goto Forum:
  


Current Time: Fri Mar 29 14:49:04 GMT 2024

Powered by FUDForum. Page generated in 0.03461 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top