05.11.2013 Aufrufe

Formale Methoden I - Universität Bielefeld

Formale Methoden I - Universität Bielefeld

Formale Methoden I - Universität Bielefeld

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

75<br />

wenn jede Regel kontextfrei ist. Eine Sprache S heißt kontextfrei, wenn es eine<br />

kontextfreie Grammatik G gibt mit L(G)=S .<br />

Um genau zu sein, wird in der Regel noch ein klein wenig mehr verlangt. Es wird<br />

nämlich verlangt,dass⃗γ nicht das leere Wort ist, es sei denn, A ist das Startsymbol.<br />

Und in diesem Fall darf keine Regel existieren der Form B→⃗η, wo⃗η S enthält.<br />

Diese Feinheit soll uns aber nicht interessieren, denn sie wird nur benötigt, wenn<br />

die Sprache auchεenthält, ein Fall, der eigentlich nur von theoretischem Interesse<br />

ist. Ich weise aber darauf hin, dass, auch wenn wir diese Bedingung weglassen, die<br />

Grammatiken nur kontextfreie Sprachen erzeugen können, obwohl manche von<br />

ihnen technisch gesehen nicht kontextfrei sind. Das ist kein Widerspruch. Es gibt<br />

Grammatiken, die nicht kontextfrei sind und dennoch ein kontextfreie Sprachen<br />

erzeugen. Ich gebe ein Beispiel.<br />

S →xAy<br />

A →xAy/x<br />

A →c<br />

Diese Grammatik erzeugt die Sprache{x n cy n : n∈N, n>0}.<br />

Kontextfreie Grammatiken sind eine sehr wichtige Klasse von Grammatiken.<br />

Computersprachen sind in der Regel in KFGs verfasst. Eine kontextfreie Grammatik<br />

erlaubt auch, den Zeichenketten eine Struktur zuzuweisen. Dazu komme<br />

ich noch einmal auf die Grammatik von Kapitel 9 zurück.<br />

(171)<br />

S→UP<br />

D→the␣|a␣<br />

R→TP<br />

P→I|VU<br />

V→drove␣|chased␣<br />

U→DN|DNR<br />

N→car␣|rat␣|mouse␣<br />

T→that␣<br />

I→ran␣|drove␣<br />

Diese ist kontextfrei, wie man leicht sieht. Sie hat zum Beispiel die RegelS→UP.<br />

Diese sagt, dass die erzeugte Zeichenkette⃗x in zwei Teile zerfällt, nämlich⃗x=⃗y⃗z,<br />

woU⊢ G ⃗y undP⊢ G ⃗z.<br />

Ich werde diese Grammatik etwas freundlicher gestalten. Es sei jetzt A unser<br />

normales Alphabet der Kleinbuchstaben und dem Leerzeichen. Ferner sei<br />

(172)<br />

N={ ,,,,<br />

,,,,}

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!