FLACI
Formale Sprachen, abstrakte Automaten, Compiler und Interpreter
Formale Sprachen, abstrakte Automaten, Compiler und Interpreter
FLACI ist in erster Linie ein didaktisches Werkzeug zur aktiven Aneignung von Grundkenntnissen aus der theoretischen Informatik, wie sie im Informatikstudium und in entsprechenden Kursen der gymnasialen Oberstufe vermittelt werden.
FLACI stellt Werkzeuge bereit, mit denen formale Sprachen entworfen und evaluiert werden können. Entsprechende Modellierungs- und Beschreibungsmittel ermöglichen es, Compiler für die bestimmte Sprachklassen automatisiert zu generieren.
FLACI verbindet die Bereiche: Formale Sprachen, Abstrakte Automaten und Compilerbau. Entwickelte Compiler lassen sich unmittelbar in beliebige Webprojekte einbinden, wodurch FLACI nicht nur auf den Einsatz in Aus- und Weiterbildung beschränkt bleibt.
Mit einigen kurzen Screencasts können sie sich am schnellsten ein Bild von FLACI machen.
Mit den offline-Versionen von FLACI können Sie auch ohne Internet arbeiten.
Speichern Sie Ihre erarbeiteten Materialien online und teilen Sie diese mit anderen Lehrenden bzw. Lernenden per Weblink.
Themen
Struktur von Programmen – Grundbegriffe – Definition unendlicher Mengen – Sprachübersetzer – Endliche Automaten, reguläre Sprachen und reguläre Ausdrücke – Kellerautomaten und kontextfreie Sprachen – LL(k)-Sprachen – LR(k)-Sprachen – Parser und Parsergeneratoren – Sprachübersetzerprojekt – Mealy- und Moore-Maschinen – Turing-Maschine und Chomsky-Typ-0/1-Sprachen
Inhalt
Die eher abstrakten Inhalte der Theoretischen Informatik werden aus praktischen Anwendungsbeispielen heraus motiviert, anschaulich vermittelt und in Übungen vertieft. Durch das gesamte Buch hindurch zieht sich das Vorhaben, einen Compiler für eine Sprache mit grafischen Effekten herzustellen. An den entsprechenden Stellen werden die dafür notwendigen Beiträge erarbeitet und Aspekte automatisierter Compilergenerierung thematisiert.
Zur Definition und Simulation formaler Sprachen mit regulären Ausdrücken, formalen Grammatiken und abstrakten Automaten sowie zur automatisierten Compilergenerierung aus einer grafisch-visuellen Beschreibung stellt die Lern- und Arbeitsumgebung FLACI miteinander vernetzte Komponenten zur Verfügung. Da es sich um eine Web-Anwendung (ohne JAVA) handelt, entfällt jeglicher Installations- und Aktualisierungsaufwand. FLACI wurde speziell für das Studium der theoretischen Informatik entwickelt und bereits an mehreren Hochschulen und Schulen erfolgreich eingesetzt. FLACI vertieft Theoriewissen durch praktische Übungen und attraktive Anwendungsprojekte aus dem Grafik- und Audiobereich. Übersetzung und Verarbeitung mehr oder weniger komplexer Sprachen finden wir heute beispielsweise auch in modernen Web-Applikationen.
FLACI ist ein Forschungs- und Entwicklungsprojekt der Pädagogischen Hochschule Schwyz und der Hochschule Zittau/Görlitz.