Einkaufswagen
Loading
Nur noch -1 verfügbar

Eigene DSLs in Python erstellen- Domänenspezifische Sprachen entwickeln

Aktionspreis
€12.99 (25 % Rabatt)
€9.74
Zum Einkaufswagen hinzugefügt

Eigene DSLs in Python erstellen: Domänenspezifische Sprachen entwickeln


Ein praxisnaher Leitfaden zum Entwurf, Parsen und Ausführen domänenspezifischer Sprachen mit Python


Inhaltsverzeichnis


Kapitel 1: Was ist eine DSL?


  • Definition und Abgrenzung: DSL vs. allgemeine Programmiersprache
  • Beispiele aus der Praxis: SQL, HTML, Makefile, Regex
  • Interne vs. externe DSLs
  • Warum DSLs in Python nützlich sind

Kapitel 2: Anwendungsfälle für DSLs


  • Konfigurationssprachen
  • Berechnungs- und Ausdruckssprachen
  • Testdefinitionen und Business Rules
  • Mini-Projekt: DSL zur Beschreibung von Rechenoperationen

Kapitel 3: Interne DSLs in Python gestalten


  • Python als Host-Sprache nutzen
  • Fluent Interfaces, Builder Pattern, Method Chaining
  • Mini-Projekt: Eine DSL zur GUI-Erstellung mit Python-Syntax

Kapitel 4: Eigene Syntax mit externer DSL und Parser


  • Design einer einfachen Textsprache
  • Tokenisierung und Grammatik
  • Parser-Generatoren: lark, parsimonious, ply
  • Mini-Projekt: DSL zur Aufgabenbeschreibung parsen und interpretieren

Kapitel 5: Lexer und Parser manuell implementieren


  • Scanner mit regulären Ausdrücken
  • Rekursiver Abstieg (Recursive Descent Parsing)
  • Mini-Projekt: Parser für eine einfache Rechen-DLS bauen

Kapitel 6: Abstrakter Syntaxbaum (AST) und Ausführung


  • AST-Datenstruktur erzeugen
  • Traversierung und Auswertung
  • Fehlerbehandlung und Rückmeldungen
  • Mini-Projekt: Interpreter für eigene DSL mit eval()-Logik

Kapitel 7: Erweiterung mit Kontrollstrukturen und Variablen


  • Bedingungen, Schleifen, Variablenspeicher
  • Blockstruktur und Bereichsverwaltung
  • Mini-Projekt: Mini-Skriptsprache mit Variablen und IF

Kapitel 8: DSL in bestehende Anwendungen integrieren


  • DSL als Konfigurations- oder Automationsschnittstelle
  • DSL in CLI-Tools oder Webservices nutzen
  • Mini-Projekt: DSL für CI/CD-Workflows

Kapitel 9: Testen und Validieren von DSL-Code


  • Syntaxvalidierung und Fehlermeldungen
  • Unit-Tests für Sprachfunktionen
  • Benutzerfreundliche Fehlermeldungen
  • Mini-Projekt: Interaktive Fehlersuche mit Traceback

Kapitel 10: Best Practices und Ausblick


  • Was eine gute DSL ausmacht
  • Grenzen und Alternativen: YAML, JSON, Python als DSL
  • Tools wie ANTLR, TextX, Tree-sitter
  • Mini-Projekt: Refactoring und Erweiterung der DSL

Anhang A: Übersicht von Python-Parser-Tools


  • lark, parsimonious, PLY, textX, pyparsing
  • Vergleich: Performance, Dokumentation, Einsatzgebiete

Anhang B: Beispielgrammatiken für kleine DSLs


  • Ausdrucks-DSL, Build-DSL, Query-DSL
  • Jeweils mit Grammatik-Definition und Beispielausführung


Anhang C: Übungsaufgaben mit Lösungen


  • DSL für mathematische Ausdrücke schreiben
  • DSL-Code analysieren und AST erzeugen
  • Eigene Kommandosprache mit Fehlerprüfung
  • Lösungen mit Schritt-für-Schritt-Erklärung


Sie erhalten die folgenden Dateien:
  • EPUB (110KB)
  • MD (235KB)