19.11.2014 Aufrufe

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!