Xtext

Xtext
Eclipse Xtext
Xtext.png
Screenshot

Language Workbench/ Parsergenerator
Basisdaten
Aktuelle Version 2.1
(2. November 2011)
Betriebssystem plattformübergreifend
Kategorie Framework
Lizenz Eclipse Public License 2.0
xtext.org

Xtext ist ein Open-Source-Framework für die Entwicklung von Programmiersprachen sowie domänenspezifischen Sprachen (englisch domain specific language DSL) und ein Teil des Eclipse-Modeling-Framework-Projekts. Im Gegensatz zu normalen Parsergeneratoren wird bei Xtext nicht nur ein Parser generiert, sondern auch ein Klassenmodell für den abstrakten Syntaxbaum und ein in Eclipse integrierter Texteditor sowie die notwendige Infrastruktur für die Implementierung einer modernen Entwicklungsumgebung für die entwickelte Sprache bereitgestellt.

Inhaltsverzeichnis

Geschichte

Die erste Version von Xtext wurde im Jahre 2006 im Rahmen des openArchitectureWare-Projektes veröffentlicht. In der darauf folgenden Zeit wurden mit jeder Version neue Funktionen und Konzepte integriert. In der Version 4.3 von oAW ist die letzte oAW-Version von Xtext enthalten. Seit Anfang 2008 wird Xtext unterhalb des Eclipse Modeling Project im Textual Modeling Framework (TMF) weiterentwickelt. Mitarbeiter der Firma itemis AG, darunter der ursprüngliche Architekt von Xtext, entwickeln hier eine neue Version des Frameworks. Das erste offizielle Release erfolgte am 16. Juni 2009, als Xtext in der Version 0.7.0 erschien[1]. Im Juni 2010 hat das Framework die Version 1.0 erreicht. Version 2.0 erschien am 27. Juni 2011 zusammen mit Eclipse 3.7 (Indigo) [2].

Funktionalität

Im Kern von Xtext steht die Grammatiksprache, mit der für EMF-Modelle eine textuelle Syntax definiert wird. Ein daraus mit dem Parsergenerator ANTLR generierter Parser erzeugt nun Modelle aus Texten, die der definierten Grammatik entsprechen. Sowohl der Parser als auch die EMF-Modelle können unabhängig von Eclipse verwendet werden. Weiterhin wird ein Texteditor generiert. Folgende Funktionen werden aus der Grammatik berechnet und können ggf. noch angepasst oder erweitert werden:

Weiterverarbeitung von DSL-Modellen

DSLs sind formale Sprachen und müssen daher ausführbar gemacht werden. Dies geschieht auf zwei unterschiedlichen Wegen:

  • Zur Codegenerierung bietet sich Xpand an, welches vom gleichen Team entwickelt wird und ebenfalls bei Eclipse Modeling gehostet ist. Bei der Codegenerierung können beliebige Zielplattformen verwendet werden.
  • Die Interpretation von EMF-Modellen muss mit einer zur Java Virtual Machine kompatiblen Sprache geschehen, da EMF und Xtext bisher nur in Java implementiert sind. Die Zielplattform ist daher auf diese Sprachen eingeschränkt.

Auszeichnung

  • Eclipse Community Awards 2010: "Most Innovative New Feature or Eclipse Project" [3]

Literatur

Weblinks

Einzelnachweise

  1. Eclipse Modeling News. (http://www.eclipse.org/modeling/tmf/news-whatsnew.php#build, abgerufen am 04. März 2010).
  2. Eclipse Indigo mit vielen Neuerungen für Java-Entwickler. (http://www.heise.de/newsticker/meldung/Eclipse-Indigo-mit-vielen-Neuerungen-fuer-Java-Entwickler-1265070.html, abgerufen am 28. Juni 2011).
  3. http://www.eclipse.org/org/press-release/20100322_awardswinners.php

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • OAW — OpenArchitectureWare Entwickler: openArchitectureWare Aktuelle Version: 4.3.1 (22. Dezember 2008) …   Deutsch Wikipedia

  • OpenArchitectureWare — Entwickler: openArchitectureWare Aktuelle Version: 4.3.1 (22. Dezember 2008) …   Deutsch Wikipedia

  • COMPASS/Sample Code — This COMPASS sample code displays the calendar of the year given as a parameter on the terminal. If no parameter is given, then the calendar of the current year is displayed. IDENT CALEND,FWA ABS SST ENTRY CALEND,RFL= SYSCOM B1 TITLE DISPLAY… …   Wikipedia

  • openArchitectureWare — Entwickler openArchitectureWare Aktuelle Version 4.3.1 (22. Dezember 2008) Betriebssys …   Deutsch Wikipedia

  • Conspire (software) — Infobox Software name = Conspire caption = Conspire 0.20 running under Linux. developer = William Pitcock (nenolod) Kiyoshi Aman (Aerdan) status = active latest release version = 0.20 latest release date = July 18, 2008 operating system = Unix… …   Wikipedia

  • Domain Specific Language — Eine domänenspezifische Sprache (engl. domain specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen hohen… …   Deutsch Wikipedia

  • Domain Specific Languages — Eine domänenspezifische Sprache (engl. domain specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen hohen… …   Deutsch Wikipedia

  • Domänenspezifische Programmiersprache — Eine domänenspezifische Sprache (engl. domain specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen hohen… …   Deutsch Wikipedia

  • Problemorientierte Programmiersprache — Eine domänenspezifische Sprache (engl. domain specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen hohen… …   Deutsch Wikipedia

  • Domänenspezifische Sprache — Eine domänenspezifische Sprache (englisch domain specific language, DSL) ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (die Domäne) entworfen und implementiert wird. Beim Entwurf einer DSL wird man bemüht sein, einen… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”