Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
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 />
,,,,}