Automaten und Sprachen
Zustandsorientierte Modellierung
Im Alltag haben wir mit vielen technischen Geräten zu tun: Morgens schaltet man am Lichtschalter das Licht ein, später öffnet man das Auto mit der Fernbedienung am Schlüssel und auf der Arbeit rufen wir per Knopfdruck einen Aufzug. Das Drücken auf einen Knopf hat dabei immer einen Effekt, der auch davon abhängt, in welchem „Zustand“ sich das System befindet. Beim Lichtschalter heißt das: Wenn das Licht an ist, dann geht es durch den Knopfdruck aus; ist es aus, geht es an. Die Beschreibung solcher Systeme nennt man zustandsorienterte Modellierung.
Sprachen und Automaten
Sprachen, die in der Informatik zur computergerechten Darstellung von Information benutzt werden, müssen hohe Anforderungen an Präzision erfüllen. Insbesondere muss die Syntax solcher Sprachen präzise festgelegt werden. Zur Spracherkennung benutzt man häufig spezielle Automaten.
Compiler und Interpreter
Wie werden Programme, die man in einer Programmiersprache wie Python geschrieben hat, auf einem Rechner
ausgeführt? Die Ausführung von Programmen mächtiger
Programmiersprachen - die dem Programmierer
viele Konstrukte zur Erstellung von Programmen zur Verfügung stellen - auf einfachen Maschinen - die
nur einige Grundbefehle ausführen können - ist ein komplizierter Prozess mit vielen zu erledigen Teilaufgaben.
Ziel dieses Kapitels ist es, die wesentlichen Funktionseinheiten zur Erledigung der Teilaufgaben vorzustellen
und ihre Arbeitsweise transparent zu machen.