Hi Stefan,

sorry for the late reply.

Your question is not easy to answer, mostly because there is many 
differences and it's hard to name all of them. I'll try to highlight the 
things that I think are most important, maybe the other developers or 
users will add to this. Also, please correct me if I'm wrong! I prefer 
to use EMFText, which is why the facts about Xtext might not be up to 
date ;)

First, some words about the commonalities:

- Both tools produce similar editors, parsers and printers. So from the 
perspective of a DSL user only few differences will be noted.
- Both tools rely on EMF and ANTLR which explains why they are often 
perceived as very similar. The former fact allows to easily integrate 
with other EMF-based tools. Even the Xtool family (e.g., Xtend) can 
easily be used with EMFText.

Now some differences:

- EMFText does not derive a metamodel from the syntax. This is not a 
missing feature, but an intentional design decision.

- EMFText does not allow syntax rules that do not correspond to 
metaclasses. This is also intentional as we think that all elements of a 
textual representation should be present in the respective metamodel. If 
some details of the text are not important for some task, they can be 
discarded at the model level.

- EMFText generates code that is independent of EMFText. There is no 
runtime library. This allows to make arbitrary changes to the generated 
code and ensures that generated DSL plug-ins are not influenced by 
future versions of EMFText (unless one regenerated the code). Also, one 
can run multiple DSLs that were generated by different versions of 
EMFText within the same Eclipse instance.

- EMFText has override options that allow users to select which classes 
are regenerated and which are kept. In contrast, Xtext uses dependency 
injection to let developers introduce customizations. The former is a 
way to support unforeseen extensions, the latter is a way to support 
foreseen extensions.

- EMFText has a huge library of existing DSLs (the syntax zoo), which 
serve as examples. There is more than 100 working languages! Some 
languages in the zoo (e.g., Java, OCL and OWL) are quite complex and 
show how far one can get with EMFText.

- EMFText integrates with the EMF Validation Framework, whereas Xtext 
has its own validation mechanism.

- EMFText integrates with the EMF Edit infrastructure, whereas Xtext 
uses its own providers for icons and labels in the outline view.

- EMFText has special support for expression languages (the @Operator 
annotations). Xtext provides the Xbase library for this purpose, which 
contains Java-like expressions (AFAIK).

- EMFText DSLs can integrate with Java using JaMoPP (the Java syntax and 
metamodel) or the org.emftext.commons.jdt Plug-in. Xtext provides Java 
integration that is similar to the latter way.

- EMFText has a quite complex syntax generator that can be used to 
obtain parameterized syntaxes for existing metamodels.

- EMFText does not use a workflow languages to generate code. We support 
Single-Click-Code-Generations (in Eclipse) and provide Ant scripts that 
can do the same on a CI server.

- EMFText generates builder and interpreter stubs, as well as, a
complete debugger that works out of the box. I'm not sure to what extent 
this is supported by Xtext.

- Parsers and printers that are generated by EMFText run without 
Eclipse. I don't know whether this is possible with Xtext.


I hope others will add to this list so we can make this a part of the 
documentation.

Best regards,

Mirko


24.05.2012 15:21, Stefan Wuelfrath:
> Hi,
>
> I have browsed the archives of EMFText and found a link to that article:
>
> http://pettergraff.blogspot.de/2009/11/xtext-or-emftext-that-is-question.html
>
> Since the article is a little bit old (2009), have been there some
> changes in EMFText which could be interesting for comparing both tools?
>
> Thank your very much for your help!
>
> Best regards,
> Stefan Wülfrath
>
> Zitat von Stefan Wuelfrath<[email protected]>:
>
>> Dear EMFText team,
>>
>> how you would compare EMFText with XText?
>>
>> What are advantages and disadvantages of both frameworks? What's the
>> same and what's different?
>>
>> Can you give me a hint in which cases EMFText is the better choice and
>> when to use XText?
>>
>> I know: That are many questions. :-)
>>
>> Thank you very much for your help!
>>
>> Best regards,
>> Stefan Wülfrath
>> _______________________________________________
>> emftext-users mailing list
>> [email protected]
>> http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users
>>
>
>
> _______________________________________________
> emftext-users mailing list
> [email protected]
> http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users

-- 
Dr.-Ing. Mirko Seifert
Geschäftsführer
DevBoost GmbH
Rungestr. 22-24
10179 Berlin

Tel.: +49 1577 444 1168
E-Mail: [email protected]

Handelsregister Amtsgericht Berlin (Charlottenburg) HRB 140026
_______________________________________________
emftext-users mailing list
[email protected]
http://mail-st.inf.tu-dresden.de/cgi-bin/mailman/listinfo/emftext-users

Reply via email to