You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wir haben im Projekt eine DSL erarbeitet, mit der Lehrende ohne Programmiererfahrungen fachliche/didaktische Aufgaben/Rätsel formulieren und Bewertungsfunktionen implementieren können sollten.
Rückblickend besteht die DSL aktuell aus einer Mischung von drei verschiedenen Sprachen/syntaktischen Stilen (DOT, Json, Rust), Bewertungsfunktionen müssen direkt in Java implementiert werden, der Interpreter ist eher eine Art Konfigurator, die DSL wird über Annotationen an den Dungeon-Code gekoppelt (d.h. im Dungeon-Code muss man die DSL immer mitdenken), ...
Ziel 1: Basierend auf den nun deutlicher zu sehenden fachlichen/didaktischen Aufgaben/Rätseln und den gemachten Erfahrungen sollte die DSL noch einmal neu gedacht werden. Dabei sollte abgewogen werden, was man Menschen ohne Programmiererfahrung zumuten kann - evtl. ist eine einfache Java-Schnittstelle oder Lua-Schnittstelle leichter zu bedienen?
Ziel 2: Es sollte einen Interpreter geben, der den Dungeon als eine Art nichtdeterministische Laufzeitumgebung nutzt und der das Petrinetz "abläuft" - hierzu müssen die Schnittstellen zum Dungeon untersucht und angepasst werden.
Das könnte ein Teil der Aufgaben für eine Praxisphase werden oder auch für eine Semester-/Abschlussarbeit.
Es macht Sinn, zwei unterschiedliche Aspekte in separaten Arbeiten zu betrachten:
(a) Definition einer intermediate representation (IR) oder AST und Integration eines Interpreters dafür in den Dungeon.
(b) Definition einer speziellen Sprache (DSL) zur möglichst freien Formulierung von Aufgaben für Nichtinformatiker plus einen Compiler, der diese DSL in die IR transformiert. Für die DSL soll per LSP die übliche Unterstützung (Syntaxhighlighting, Autocompletion, Fehleranzeige) für IntelliJ und VSCode realisiert werden.
This discussion was converted from issue #1153 on January 29, 2024 14:24.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Wir haben im Projekt eine DSL erarbeitet, mit der Lehrende ohne Programmiererfahrungen fachliche/didaktische Aufgaben/Rätsel formulieren und Bewertungsfunktionen implementieren können sollten.
Rückblickend besteht die DSL aktuell aus einer Mischung von drei verschiedenen Sprachen/syntaktischen Stilen (DOT, Json, Rust), Bewertungsfunktionen müssen direkt in Java implementiert werden, der Interpreter ist eher eine Art Konfigurator, die DSL wird über Annotationen an den Dungeon-Code gekoppelt (d.h. im Dungeon-Code muss man die DSL immer mitdenken), ...
Ziel 1: Basierend auf den nun deutlicher zu sehenden fachlichen/didaktischen Aufgaben/Rätseln und den gemachten Erfahrungen sollte die DSL noch einmal neu gedacht werden. Dabei sollte abgewogen werden, was man Menschen ohne Programmiererfahrung zumuten kann - evtl. ist eine einfache Java-Schnittstelle oder Lua-Schnittstelle leichter zu bedienen?
Ziel 2: Es sollte einen Interpreter geben, der den Dungeon als eine Art nichtdeterministische Laufzeitumgebung nutzt und der das Petrinetz "abläuft" - hierzu müssen die Schnittstellen zum Dungeon untersucht und angepasst werden.
Das könnte ein Teil der Aufgaben für eine Praxisphase werden oder auch für eine Semester-/Abschlussarbeit.
Es macht Sinn, zwei unterschiedliche Aspekte in separaten Arbeiten zu betrachten:
siehe auch Compiler-CampusMinden/Mini-Python-Builder#27 sowie #645 und #1070
Beta Was this translation helpful? Give feedback.
All reactions