Der Anfang:
Automaten, insbesondere endliche Automaten, können als eine Art System verstanden werden. Innerhalb dieses Systems
bewegt man sich nach vorab definierten Regeln. Diese Sorte Systeme begegnen uns im alltäglichen Leben immer dort,
wo wir einen bestimmten Input liefern und ein entsprechendes Ergebnis erwarten. Dies sind komplexe Konstrukte wie z.B.
Computer oder Autos oder relativ einfache wie z.B. ein Aufzug oder ein Flaschenautomat.
Im Universitätsgebäude
beispielsweise drücken wir einen bestimmten Knopf am Fahrstuhl um wahlweise nach oben oder nach unten zu gelangen.
Das System verarbeitet unsere Aufforderung und je nach Stärke des verwendeten Algorithmus öffnet sich alsbald eine
Fahrstuhltür, das Ergebnis oder Output des Systems.
In der Informatik und speziell in den Programmiersprachen sind solche Systeme unverzichtbar. Wir liefern einen Befehl
und erwarten wie selbstverständlich das gewünschte Ergebnis; oder in einem Programm soll der Compiler aus unseren
syntaktisch korrekten Anweisungen alles in kryptischen Maschinencode übersetzen.
Das hier zu erlernende theoretische Feld wird das
Erkennen von Wörtern in den Mittelpunkt rücken; so wie ein
Java-Compiler dem Wort „void“ unmittelbar eine Bedeutung zuweist und es als Befehlswort innerhalb der Sprache „erkennt“.
Ein anderes Beispiel aus der „HTML“-Sprache wäre das Wort „br“, das für Zeilenumbruch steht. Ein Browser „erkennt“ das
Wort und rückt den folgenden Text in die nächste Zeile.