[EN] my colleague Stefan and I will give a full-day Xtext workshop At the SE 2015 conference in Dresden. The spoken language will be German.
[DE] Mein Kollege Stefan und ich geben kommende Woche einen ganztägigen Xtext-Workshop auf der Konferenz SE 2015 in Dresden. Auf dem Workshop vermitteln wir ein solides Verständnis von Xtext und allen relevanten Konzepten. Dieser Workshop ist die perfekt Vorbereitung um ein Projekt mit Xtext zu beginnen, diesem beizutreten, oder sein Hintergrundwissen zu verfestigen. Natürlich werden wir auch auf die mit Xtext 2.8 neu verfügbar gewordenen Features eingehen. Zur Teilnahme ist die Anmeldung über die Konferenz-Webseite erforderlich.
Der Titel ist Xtext - Werkzeugunterstützung für bestehende sowie eigene Sprachen einfach entwickeln und Folgendes ist der Inhalt:
Eine Vielzahl von formalen Sprachen haben ihre Daseinsberechtigung, da ihre Eigenschaften oft speziell zugeschnitten sind auf ihre Anwendungsdomäne, das Vorwissen ihrer Anwender und eventuell ein oder mehrere Zielplatformen.
Mögliche Motivationen für das Verwenden einer bestimmten - oder sogar dem Designen einer eigenen Sprache können sein:
- Erhöhung der Produktivität der Anwender durch ein hohes, direkt auf die Anwendungsdomäne zugeschnittenes Abstraktionsniveau
- Senkung der Einstiegshürde durch das Verwenden einer den Anwendern bereits vertrauten Syntax
- Vermeiden von Anwenderfehlern durch Vermeidung unnötiger Freiheitsgrade in der Sprache
- Reduzierung der benötigten Vorkenntnisse von Anwenden durch Spezialisierung auf deren Domäne und dem Weglassen von nicht benötigten Konzepten
- Frühes erkennen von Anwenderfehlern durch statische Analysierbarkeit von Dokumenten
- Unterstützung mehrerer Zielplatformen durch Abstraktion über selbige
- Forcierung eines Denkmodells
- Forcierung einer gewünschten SoftwarearchitekturUnabhängig von der Wahl der Sprache ist der Bedarf für gute Werkzeugunterstützung: Genau so, wie heutzutage von einer Textverarbeitung eine Rechtschreibkorrektur erwartet wird, darf von einer Entwicklungsumgebung exakte Syntaxprüfung, statische Validierung, context-sensitive Vervollständigung und vieles Mehr erwartet werden.
Xtext hat sich als defacto Standard zur Erstellung von Werkzeugunterstützung für formale, textuelle Sprachen etabliert. Zur Werkzeugunterstützung zählen neben einem “intelligenten” Editor mit IDE-Integration, Syntax-Highlighting, Content Assist, liveValidierung etc. Generatoren und Interpreter. Hierbei hat Xtext den nötigen Arbeitsaufwand zur Erstellung selbiger derartig gesenkt, dass eigene Sprachen in vorher undenkbaren Szenarien praktikabel werden.
Teilnehmer dieses Tutorials werden in Vorträgen die relevanten Konzepte kennenlernen sowie eigene Erfahrung mit Xtext anhand von Übungsaufgaben sammeln. Ziel des Tutorials ist es, die Teilnehmer zur eigenständigen Entwicklung von domänenspezifischen Sprachen und Codegeneratoren zu befähigen.
Zentrale Themenbereiche sind:
• Überblick über Xtext
• Die Xtext Grammar Sprache • Integration mit EMF
• Überblick über Xtexts Architektur
• Modell-Validierung
• Scoping: Linking und mehr
• Code Completion
• Template Proposals
• Formatting (Pretty Printing)
• Codegenerierung mit Xtend
• Erstellung von ASTs: Actions in der Grammatik
• UI hooks (Quickfixes, Coloring, Outline, etc.)
• Allgemeine Strategien zur Problemlösung
• Ausblick