Bücher

Bücher: DSL Engineering


Domänenspezifische Sprachen (DSLs) sind seit jeher fester Bestandteil im Werkzeugkasten eines jeden Softwareentwicklers. Sie grenzen sich von bekannten universalen Programmiersprachen (oder auch Gen­er­al Purpose Languages – GPLs) wie C++ oder Java dadurch ab, dass sie für den Einsatz in einer bestimmten Domäne zugeschnitten sind. Damit sind sie weniger vielseitig, aber innerhalb der Domäne, für die sie entwickelt wurden, wesentlich präziser und gleichzeitig effizienter einsetzbar. Dies macht DSLs zu einem Thema für jeden Softwareentwickler, dem die Effizienz und Qualität seiner Arbeit am Herzen liegt. Zu den bekanntesten DSLs zählen Sprachen wie SQL, reguläre Ausdrücke oder ANT-Skripte.

In der Vergangenheit unterschied sich das Handwerkszeug zur Entwicklung von DSLs kaum von dem, das für GPLs zum Einsatz kam. Mit so genannten Language Workbench­es, das sind integrierte Entwicklungsumgebungen für DSLs, ändert sich das Bild allerdings grundlegend. Die Erstellung von DSLs und zugehöriger Werkzeuge wie Editor, Interpreter und Compiler wird einfacher und kostengünstiger. Damit erschließen sich neue Einsatzszenarien.

Das Buch „DSL Engineering“ vermittelt den Umgang mit solchen Language Workbenches. Es besteht aus vier Teilen. Im ersten Teil stellen die Autoren die Grundlagen von DSLs sowie deren wesentliche Vor- und Nachteile kurz und bündig dar. Im anschließenden Teil 2 erfolgt zunächst eine recht formale Definition zentraler Konzepte der DSL-Entwicklung. Daraufhin werden verschiedene Dimensionen des DSL-Designs eruiert.

In Teil 3 des Buchs widmen sich die Autoren den praktischen Aspekten der DSL-Implementierung. Sie decken dabei grundlegende Aspekte wie den Entwurf von abstrakter und konkreter Syntax und den Bau von Interpretern und Compilern (Generatoren) ab. Anschließend gehen die Autoren auf weiterführende Themen wie statischer Sprachsemantik, die Realisierung von IDE-Support sowie das Testen, Debuggen und Modularisieren von DSLs ein. Die Behandlung dieser Aspekte erfolgt jeweils in Bezug auf drei von den Autoren exemplarisch gewählten Language Workbenches. Sie unterscheiden sich jeweils hinsichtlich des eingesetzten Parsing-Ansatzes und der abstrakten Repräsentation von DSL-Programmen. Die Darstellung der Implementierungsaspekte erfolgt sehr detailliert anhand von DSL-Beispielen und mit zahlreichen Listings.

In Teil 4 behandelt das Buch verschiedenste Anwendungsbeispiele für DSLs zum Beispiel bei Anforderungsanalyse, Design, Implementierung und Testen vo...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang