Logo

FLACI

Formale Sprachen, abstrakte Automaten, Compiler und Interpreter

Über FLACI Eine Lern- und Arbeitsumgebung
für die theoretische Informatik

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.

Fachartikel zu FLACI (PDF)

FLACI kennenlernen

Mit einigen kurzen Screencasts können sie sich am schnellsten ein Bild von FLACI machen.

Sprachen RegExp Automaten Grammatiken Compilerbau Transformationen

FLACI Cloud und Beispiele

Speichern Sie Ihre erarbeiteten Materialien online und teilen Sie diese mit anderen Lehrenden bzw. Lernenden per Weblink.

Buch

Christian Wagenknecht, Michael Hielscher
Formale Sprachen,
abstrakte Automaten
und Compiler

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.

Sie haben eine Frage? Schreiben Sie uns!

FLACI ist ein Forschungs- und Entwicklungsprojekt der Pädagogischen Hochschule Schwyz und der Hochschule Zittau/Görlitz.

Dr. Michael Hielscher
Institut für Medien und Schule IMS
Pädagogische Hochschule Schwyz
Zaystr. 42
CH-6410 Goldau, Schweiz
michael.hielscher@phsz.ch
Prof. Dr. Christian Wagenknecht
Fakultät für Elektrotechnik & Informatik
Hochschule Zittau/Görlitz
Brückenstr. 1
02826 Görlitz, Deutschland
c.wagenknecht@hszg.de
Studentische Mitarbeiter/innen (in alphabetischer Reihenfolge):
Stefan Bradl, Ronald Krause, Dana Müller, Alexander Preuß, Robert Rosenberger, Tobias Salzmann, Robert Stricker, Ralf Zücker
Verwendete Bibliotheken:
Earley Parser (Yurii Lahodiuk), JISON Parser Generator (Zach Carter), CodeMirror, Angular, Angular Material, MomentJS, clipboard.js