Inhaltsverzeichnis - Automaten und Formale Sprachen
Inhaltsverzeichnis - Automaten und Formale Sprachen
Inhaltsverzeichnis - Automaten und Formale Sprachen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Auf die Klasse L 0 kommen wir später <strong>und</strong> in der Vorlesung ”<br />
Algorithmentheorie“ zurück.<br />
Es wird sich herausstellen, daß sie genau die überhaupt durch einen Kalkül beschreibbaren<br />
<strong>Sprachen</strong> enthält (die ”<br />
rekursiv aufzählbaren“ <strong>Sprachen</strong>).<br />
Wir wenden uns nun einem eingeschränkten Grammatiktyp zu. Dabei darf in einem Ableitungsschritt<br />
immer nur eine Variable A ∈ V durch ein nichtleeres Wort ersetzt werden.<br />
Man hat aber die Möglichkeit, dies auszuschließen, wenn A nicht in einem vorgeschriebenen<br />
Teilwort vorkommt (dem ”<br />
Kontext“).<br />
2.1.5 Definition (a) Sei G = (V, Σ, S, P ) Grammatik. Eine Produktion l → r heißt<br />
kontextsensitiv, wenn l = αAγ, r = αβγ, wobei A ∈ V ist, α, β, γ ∈ (V ∪ Σ) ∗ sind <strong>und</strong><br />
|β| ≥ 1.<br />
( ”<br />
Man darf A durch das nichtleere Wort β ersetzen, aber nur, wenn A im Kontext α..γ<br />
steht.“)<br />
Um Mißverständnisse auszuschließen: Auch A → β mit |β| ≥ 1 ist eine kontextsensitive<br />
Produktion (mit α = γ = ε ). Die eigentlich wesentliche Eigenschaft hier ist die ”<br />
Nicht-<br />
Verkürzung“: Es gilt stets |l| ≤ |r|.<br />
(b) Die Grammatik G = (V, Σ, S, P ) heißt kontextsensitiv, wenn entweder alle Produktionen<br />
von G kontextsensitiv sind oder alle Produktionen von G kontextsensitiv sind<br />
außer der folgenden: S → ε, <strong>und</strong> S nie auf der rechten Seite einer Produktion vorkommt.<br />
Kontextsensitive Grammatiken heißen auch Chomsky-1-Grammatiken oder Typ-<br />
1-Grammatiken.<br />
(c) L 1 ist die Klasse aller <strong>Sprachen</strong> L, für die gilt: L = L(G) für eine kontextsensitive<br />
Grammatik G.<br />
Auch L 1 wird später nochmals diskutiert. Klar ist: L 1 ⊆ L 0 .<br />
Auch wenn es auf den ersten Blick nicht so aussieht, kann man die Grammatik aus Beispiel<br />
2.1.3 zu einer kontextsensitiven Grammatik umbauen. Also: {a 2i | i ≥ 1} ∈ L 1 . (Ohne<br />
Beweis.)<br />
Die nächste Definition ist f<strong>und</strong>amental für den Rest der Vorlesung.<br />
2.1.6 Definition (a) Sei G eine Grammatik. Eine Produktion l → r heißt kontextfrei,<br />
wenn l ∈ V (<strong>und</strong> r ∈ (V ∪ Σ) ∗ beliebig) ist. Eine kontextfreie Produktion hat also das<br />
Format A → α, A ∈ V , α ∈ (V ∪ Σ) ∗ .<br />
(Beachte: Kontextfreie Produktionen, deren rechte Seite nicht ε ist, sind ein Spezialfall<br />
von kontextsensitiven Produktionen. Man kann l = A durch r ersetzen, ganz egal wo <strong>und</strong><br />
in welchem Wort A vorkommt. Erst hier wird der Gr<strong>und</strong> für die Bezeichnung ”<br />
Variable“<br />
richtig klar: für jede Variable kann (<strong>und</strong> muß) etwas anderes eingesetzt werden, damit<br />
sich schließlich ein Wort aus Terminalzeichen ergibt.)<br />
(b) Eine Grammatik G heißt kontextfrei, wenn alle ihre Produktionen kontextfrei sind.<br />
Kontextfreie Grammatiken heißen Chomsky-2-Grammatiken oder Typ-2-Grammatiken.<br />
68