16.09.2017 Aufrufe

Vorkurs Informatik

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

298 18 Formale Sprachen und Compiler<br />

Eingabewort<br />

Zustandsübergangsdiagramm:<br />

z 0<br />

a<br />

z 1<br />

b<br />

a<br />

b<br />

a<br />

Zustand<br />

Ausgabe:<br />

akzeptiert / nicht akzeptiert<br />

z 3 b z 2<br />

a<br />

b<br />

z 0 ,...,z 3 : Zustände δ(z 0 ,a)=z 1 , δ(z 2 ,a)=z 1 ,<br />

z 0 : Startzustand δ(z 0 ,b)=z 3 , δ(z 2 ,b)=z 3 ,<br />

z 2 : Endzustand δ(z 1 ,a)=z 3 , δ(z 3 ,a)=z 3 ,<br />

Alphabet: {a, b} δ(z 1 ,b)=z 2 , δ(z 3 ,b)=z 3 .<br />

Der angegebene endliche Automat akzeptiert das Wort abab:<br />

• Abarbeitung einer Eingabe: abab: z 0 ⇒ z 1 ⇒ z 2 ⇒ z 1 ⇒ z 2<br />

δ(z 0 ,a)=z 1 , δ(z 1 ,b)=z 2 , δ(z 2 ,a)=z 1 , δ(z 1 ,b)=z 2<br />

• akzeptierte Sprache:L={ab,abab,ababab,...}<br />

Abbildung 18.10: Beispiel für einen endlichen Automaten<br />

davon aus, dass das Band seiner Maschine unendlich lang sein kann. Beschränkt man das Band<br />

auf eine endliche Länge, stellt sich heraus, dass solche Turingmaschinen nicht mehr alle Typ-0-<br />

Sprachen erkennen können. Es konnte gezeigt werden, dass bandbeschränkte Turingmaschinen<br />

genau die Sprachen erkennen, die vom Typ 1 sind.<br />

Den Typ-2-Sprachen entspricht ein weiterer Maschinentyp, die sogenannten Kellerautomaten.<br />

Ein Keller ist ein Speicher, in den Daten nur am Ende angefügt, gelesen und entfernt werden<br />

können. Das Automatenkonzept für die Typ-3-Sprachen ist der endliche Automat. Der wesentliche<br />

Unterschied des endlichen Automaten gegenüber den anderen genannten Automaten und<br />

Maschinen ist, dass sie keinen beschreibbaren Speicher haben. Der Speicher ist in Form von sogenannten<br />

Zuständen quasi fest vorgegeben. Im nächsten Abschnitt wird der endliche Automat<br />

genauer betrachtet.<br />

18.6 Endlicher Automat<br />

Abbildung 18.10 gibt ein Beispiel für einen endlichen Automaten. Ein endlicher Automat hat<br />

als Eingabe ein Eingabewort, das er Zeichen für Zeichen bearbeitet. Bei der Abarbeitung des<br />

Wortes liefert er eine Ausgabe, die „akzeptiert“ beziehungsweise „nicht akzeptiert“ lauten kann,<br />

je nachdem ob das Eingabewort zu der Sprache gehört, die von dem Automaten erkannt wird,<br />

oder nicht. Die Abarbeitung des Eingabewortes durch den Automaten geschieht, wie gesagt,<br />

Zeichen für Zeichen, wobei der Automat nach Ansehen jedes Zeichens in einen neuen Zustand

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!