Kurs JGW-2.2
Formale Sprachen
Wörter, Grammatik und Sprache mal anders
Zur JGW-Akademie Papenburg 2023-2
04.08.
-
15.08.2023
Das Wort "Sprache" verbindet man üblicherweise mit natürlichen, organischen Sprachen wie Deutsch, Englisch oder Latein. Doch auch die Mathematik und Informatik bedient sich eigenen Sprachen. Diese sind, im Gegensatz zu natürlichen Sprachen, zumeist klar strukturiert und folgen eindeutigen Regeln. So können beispielsweise Rechenausdrücke als formale Sprache betrachtet werden. Doch welchen Regeln folgen gültige Rechenausdrücke und wie erkennt man ungültige Ausdrücke? 5+)4 oder 3+*2: Das ist offensichtlich Unsinn, da zu jeder schließenden Klammer eine öffnende Klammer gehört und nicht zwei Operatoren hintereinander stehen können. Die Lehre der formalen Sprachen befasst sich damit, Regeln (eine sog. Grammatik) für Sprachen aufzustellen und zu überprüfen, ob ein Ausdruck diese Regeln einhält. Sprachen können dann anhand der Komplexität der Regeln kategorisiert werden.
In der Welt der Computer sind formale Sprachen allgegenwärtig. So müssen Computer in der Lage sein, Eingaben wie Email-Adressen, Geburtsdaten und Rechenausdrücke auf Gültigkeit zu überprüfen. Komplexere Beispiele sind Spezifikationen von Programmiersprachen, Dateiformate und Internetprotokolle.
Der Kurs nähert sich formalen Sprachen daher sowohl von der theoretischen als auch der praktischen Seite. Im ersten Teil macht sich der Kurs mittels Vorträgen, Knobelaufgaben und Beispielen aus der realen Welt mit den theoretischen Grundlagen formaler Sprachen vertraut. Entlang der Chomsky-Hierarchie kommen dabei systematisch immer mächtigere Modelle und Sprachklassen ins Spiel. Im zweiten Teil erwartet die Teilnehmenden ein Abschlussprojekt, in dem sie in Kleingruppen beispielsweise einen Parser für ein reales Dateiformat implementieren oder ein weiterführendes Thema theoretisch beleuchten. Abschließend präsentieren die Kleingruppen dem Kurs die Ergebnisse ihres Projekts.
Die Kursleitung

