XPand in XText 2.0

T

Tomate_Salat

Gast
N'abend,

Ich schaue mir gerade XText2.0 näher an. Mithilfe eines Tutorials bekam ichs ganz gut hin, eine DSL mittels XTend in Java-Code zu interpretieren. Ohne das Tutorial macht mir XTend ein klein wenig Probleme. Von anderen Seiten habe ich gesehen, dass in XText 1.* wohl XPand eingesetzt worden ist. Das gefällt mir eigentl. besser vom Aufbau her. Ist es möglich, in XText2.0 XPand anstatt XTend zu nutzen? Wenn:
dann gilt natürlich die Frage: wie ;-)
 

Wildcard

Top Contributor
XPand hat ja erstmal nicht XText zu tun, ausser das XText intern XPand verwendet.
Installier dir doch einfach mal ein altes Eclipse (3.6) erstelle dort ein Xtext Projekt und lass ein Generator Projekt erstellen. Das Generator Projekt arbeitet mit XPand, das solltest du also so übertragen können.
Übrigens, je nachdem wie deine DSL aufgebaut ist, könnte auch XBase für dich interessant sein.
Eine Xtext Meta Programmiersprache mit Java Anbindung, Expression Syntax, Java Interpreter, Java Compiler,...
Ist dazu gedacht in eigene DSLs zu integrieren um viel Funktionalität geschenkt zu bekommen.
 
T

Tomate_Salat

Gast
XBase werde ich mir mal bei Gelegenheit anschauen. Konnte mich mitlerweile aber mit XTent mehr oder weniger gut anfreunden und bekomme eine eigene DSL mitlerweile ohne Hilfe hin :).
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Gibt es eigentl. eine Möglichkeit, seine DSL zu testen, ohne jedes mal eine neue Eclipse-Anwendung zu starten?
 

Wildcard

Top Contributor
Hängt davon ab was du testen möchtest. Der DSL Editor ist logischerweise eine Eclipse Anwendung, aber das heißt ja nicht, das du keine Unit Tests schreiben kannst, oder anderweitig den Parser Standalone verwendest.
 
T

Tomate_Salat

Gast
Nein, ich rede nicht von Unit-tests. Ich rede davon, dass ich die Eclipse-Awnendung atm immer neu starte, wenn ich Änderungen in der Grammatik+XTend testen will.
 

Wildcard

Top Contributor
Da es sich nicht um einen dynamischen Interpreter, sondern generierten Code handelt, wird dir wohl nichts anderes übrigbleiben.
Du kannst allerdings Ausdrücke auch direkt testen in dem du entweder Unit Tests schreibst, oder die von Xtext erzeugte ANTLR Grammatik in Antlr Works lädst.
 
K

Karsten Thoms

Gast
Um die Grammatik zu testen braucht man keine Eclipse Instanz zu starten. Xtext ist strikt unterteilt in einen Runtime und einen UI Teil. Alles was Runtime ist kann man auch Unittesten. Im Xtext Repository findet man Tonnen von Tests, die genau das machen.

Eine weitere gute Möglichkeit ist das Framework "xtext-utils unittesting".

Es gibt noch weitere Ansätze, schaut euch mal die Slides von Moritz Eysholdt an (Slideshare).

Grüße,
~Karsten
 

Ähnliche Java Themen


Oben