Frontend eines Compilers für eine domänenspezifische Sprache im Maschinenbau
Übersicht
Worum es bei diesem Projekt geht.
Du erhältst die EBNF-Grammatik (Extended Backus-Naur-Form — formale Notation zur Beschreibung von Programmiersprachen-Grammatiken) der DSL, 25 Beispielprogramme und 10 absichtlich fehlerhafte Beispielprogramme. Implementiere einen Lexer und einen rekursiv-absteigenden Parser in Java oder Kotlin, der einen abstrakten Syntaxbaum (Abstract Syntax Tree, AST — Datenstruktur, die die syntaktische Struktur eines Programms abbildet) erzeugt. Fehlermeldungen müssen Zeile, Spalte, erwarteten Token-Typ und einen 1-Satz-Hinweis enthalten. Schreibe Unit-Tests mit JUnit, die alle 35 Beispielprogramme abdecken. Liefere den Code, eine 5-seitige Dokumentation des Grammatikdesigns und ein 15-minütiges Code-Review-Video für das Engineering-Team.
Das Briefing
Was Du tust und was Du zeigst.
Wie lässt sich das Compiler-Frontend einer industriellen DSL so neu aufbauen, dass es wartbar bleibt und Fehlermeldungen produziert, die Anwendungstechniker:innen ohne Compiler-Wissen verstehen?
Earning criteria — what you'll demonstrate
- Eine reale Grammatik in einen handgeschriebenen rekursiv-absteigenden Parser umsetzen
- Lexer-Zustände und Token-Klassifikation entwurfssicher gestalten
- Fehlermeldungen mit Recovery-Strategien produzieren, statt nach dem ersten Fehler abzubrechen
- Tests für Parser systematisch über Beispielgrammatiken aufbauen
Studienpassung
Wo dies in Dein Studium passt.
Schärft dieselben Fähigkeiten, die Dein Studium von Dir erwartet.
Fähigkeiten
Fähigkeiten, die Du unter Beweis stellst.
Jede taucht auf Deinem verifizierten Zertifikat auf.
Karrieren
Berufe, auf die dies Dich vorbereitet.
Echte Berufsbezeichnungen. Echte Skill-Brücken. Wähle die, die Deinem Werdegang am nächsten kommt.
Karrierewege, die das aufbaut
Kanonische RollenNoch eine Sache