Sieben Sprachen in sieben Wochen mit Xtext 2.3

Hartmut Schlosser

Xtext 2.3 bietet seit dem Eclipse Juno Release Support für das Debuggen JVM-basierter DSLs und eine engere Integration mit den Java Development Tools. Insgesamt ist die Unterstützung für DSLs, die auf die JVM übersetzt werden, besser geworden. Beobachtern der Szene dürfte auch aufgefallen sein, dass das Projekt nicht mehr nur als Framework für domänenspezifische Sprachen auftritt. Auf der Projektseite heißt es jetzt:

Xtext is a framework for development of programming languages and domain specific languages.

Ausgewachsene Programmiersprachen lassen sich also mit Xtext schreiben, und es ist interessant zu sehen, wie mit Xtext die Grenzen zwischen DSL und JVM-Sprache verschwimmen.

Erlernen kann man das Xtext-API zur Implementierung JVM-basierter Sprachen nun anhand von sieben Beispiel-Sprachen, die das Xtext-Team in den letzten Monaten zusammengestellt hat: eine Skript-Sprache, eine Build-Sprache à la Gradle, eine DSL für MongoDB, eine Http-Routing-Sprache, eine Template-Sprache für Html, ein Logo-Clone und eine DSL für Guice. Wer die Beispiele durcharbeitet kommt einen guten Schritt weiter auf seinem Weg zum Spracharchitekten.

Ein weiteres Beispiel für die volle JVM-Sprachenunterstützung in Xtext ist sicherlich auch Xtend, eine mit dem Java-Typsystem ausgestattete Programmiersprache, die die Vorzüge von Sprachen wie Groovy, Scala, Python und Smalltalk in sich vereinen will und direkt in Java-Quelltext übersetzt wird. Xtend wurde zu großen Teilen innerhalb des Xtext-Frameworks entwickelt, so dass viele der Xtend-Features auch anderen JVM-basierten Xtext-Sprachen zur Verfügung stehen.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.