INF2202 Automaten, Sprachen und Compiler

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Prof. Dr. Martin Bokler
  • Prof. Dr. Michael Elberfeld
  • Prof. Dr. Uwe Meyer
Notwendige Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Die Studierenden kennen die Bedeutungen und Zusammenhänge von regulären Ausdrücken, endlichen Automaten, Kellerautomaten, Turingmaschinen, Berechenbarkeit, formalen Sprachen, Grammatiken und deren Einsatz in den Phasen der lexikalischen Analyse und der Syntaxanalyse in einem Compiler.

Inhalte
  • Reguläre Ausdrücke und endliche Automaten
  • Reguläre und kontextfreie Sprachen und Grammatiken, Chomsky-Hierarchie, Kellerautomat
  • Kontextsensitive, Turing Maschine, Turing-erkennbare und -entscheidbare Sprachen
  • Transformationen zwischen diesen Konzepten
  • Pumping-Lemmata
  • Erstellung eines Lexers mit einem Generator
  • Syntaxanalyse top-down und bottom-up
  • Erstellung eines Parsers mit einem Generator
  • Abschlusseigenschaften der Sprachen
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die Konzepte der Automaten, Sprachen, Grammatiken und regulären Ausdrücke erklären und zuordnen.
  • Sie können Instanzen dieser Konzepte ineinander transformieren.
  • Sie können mit Hilfe der Pumping-Lemmata Zugehörigkeit zu den Sprachklassen entscheiden.
  • Sie können LL- und LR-Verfahren zur Syntaxanalyse erklären und auf einfache Grammatiken anwenden.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden können die erlernten Konzepte auf konkrete Beispiele anwenden, um Äquivalenz- und Berechenbarkeitsfragen zu beantworten.

Sozialkompetenzen

  • Die Studierenden können in Teamarbeit lexikalische Analyse und Syntaxanalyse für eine einfache Programmiersprache umsetzen.

Selbstkompetenzen

  • Die Studierenden können die erlernten Konzepte strukturiert auf neue Problemstellungen anwenden.
  • Sie können ihren Lernprozess reflektieren und ihre Arbeitsweise anpassen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Vorlesung 2 SWS
  • Übung 2 SWS
Studiensemester
  • Bioinformatik (B.Sc. 2022)
  • Informatik (B.Sc. 2022)
  • Ingenieur-Informatik (B.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Jedes Semester
Unterrichtssprache
Deutsch
Bonuspunkte

Ja

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung:

Projektarbeit oder Hausübungen (Art und Umfang wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Prüfungsleistung:

Klausur, auch im Antwort-Wahl-Verfahren (Anteil des Antwort-Wahl-Verfahrens wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Voraussetzung für Module
Literatur, Medien
  • Hopcroft, J.; Motwani, R.; Ullman, J.: Einführung in Automatentheorie, Formale Sprachen und Berechenbarkeit. Pearson Studium.
  • Vossen, G.; Witt, K.-U.: Grundkurs Theoretische Informatik. Eine anwendungsbezogene Einführung - Für Studierende in allen Informatik-Studiengängen. Springer Verlag.
  • Sipser, M.: Introduction to the theory of computation. Cengage Learning.
  • Meyer, U.: Grundkurs Compilerbau. Rheinwerk-Verlag.

Rechtliche Hinweise