Deterministischer endlicher Automat
Mit diesem Tool soll veranschaulicht werden, wie Automaten, Grammatiken und reguläre Ausdrücke ineinander überführt werden können. Damit ist gemeint, dass alle 3 Darstellungsmöglichkeiten dazu verwendet werden können, dasselbe Endprodukt, ein Wort, zu generieren.
Wenn du mit dem Courser über die Elemente der Grammatik im Tool fährst, werden die entsprechenden Komponenten des Automaten hervorgehoben. Fährst du mit dem Courser über die Produktionsregeln der Grammatik, werden die entsprechenden Übergänge farblich abgehoben.
Es besteht erneut die Möglichkeit, Übergänge am Automaten auszuwählen und damit ein beliebiges Wort zu bilden. Die Aufgabe besteht darin, den regulären Ausdruck anzugeben, welcher mit dem Automaten und der Grammatik übereinstimmt.
Solltestdu während der Bearbeitung auf Probleme stoßen, steht über den Hilfe-Button eine kurze inhaltliche Erklärung zur Verfügung.
- (formale) Grammatiken werden verwendet, um (formale) Sprachen zu beschreiben. Eine solche Sprache beinhaltet bestimmte Worte aus einer Menge von Zeichen aus einem Zeichenvorrat (Alphabet).
- Die Grammatik gibt über die Produktionsregeln an, welche Worte aus dem Alphabet gebildet werden können.
- Reguläre Ausdrücke hingegen sind Zeichenketten mit bestimmten (syntaktischen) Regeln, welche eine Menge von anderen Zeichenketten (Worten) beschreiben.
- Klammern () gruppieren Inhalte und fassen diese zusammen.
- Ein * nach einem Zeichen oder einer Gruppe von Zeichen bedeutet, dass diese beliebig oft wiederholt, also auch keinmal, wiederholt werden.
- Ein Beispiel für einen regulären Ausdruck: a*b(ab)*c
- Umgangssprachlich: Beliebig viele a gefolgt von einem b sowie beliebiger wiederholung der Zeichenkette ab und anschließend einem c