Kontextfreie Sprachen
Id: cf.tex,v 1.3 2003/11/24 14:18:43 joe Exp
Def (Wdhlg): ist kontextfrei (Typ-2), falls .
geeignet zur Beschreibung von Sprachen mit hierarchischer Struktur.
Anweisung -> Bezeichner = Ausdruck | if Ausdruck then Anweisung else Anweisung Ausdruck -> Bezeichner | Literal | Ausdruck Operator Ausdruck
Bsp: korrekt geklammerte Ausdrücke: .
Bsp: Palindrome: .
Bsp: alle Wörter über mit
...und ähnlich Aufgaben, siehe demnächst autotool.
Ableitungsbäume für CF-Sprachen
Id: baum.tex,v 1.3 2003/12/03 11:51:10 joe Exp
Def: ein geordneter Baum mit Markierung ist Ableitungsbaum für eine CF-Grammatik , wenn:
Ableitungsbäume (II)
Def: der Rand eines geordneten, markierten Baumes ist die Folge aller Blatt-Markierungen (von links nach rechts).
Beachte: die Blatt-Markierungen sind , d. h. Terminalwörter der Länge 0 oder 1.
Für Blätter: , für innere Knoten:
Satz: existiert Ableitungsbaum für mit .
Eindeutigkeit
Id: eindeut.tex,v 1.1 2003/11/24 13:19:24 joe Exp
Def: heißt eindeutig, falls genau ein Ableitungsbaum existiert.
Bsp: ist eindeutig?
(beachte: mehrere Ableitungen sind erlaubt, und wg. Kontextfreiheit auch gar nicht zu vermeiden.)
Eindeutigkeit (II)
(äquiv. Definition ohne Bäume)
Def: ein Schritt (Regel-Anwendung) heißt Links-Schritt, geschrieben , falls
(d. h. ist die am weitesten links stehende Variable).
Eine Links-Ableitung ist eine Folge von Links-Schritten.
Satz: ist eindeutig jedes besitzt genau eine Links-Ableitung.
Beweis: betrachte Pre-Order-Durchquerung des Abl.-Baums.
Dangling else
Id: else.tex,v 1.1 2003/11/24 13:19:24 joe Exp
In vielen Programmiersprachen ist definiert:
Anweisung -> ... | if Ausdruck then Anweisung | if Ausdruck then Anweisung else AnweisungModell: .
Diese Regelmenge führt zu einer mehrdeutigen Grammatik.
Aufgabe: finden Sie eine eindeutige Grammatik mit den ,,richtigen `` Ableitungsbäumen.
Arithmetische Ausdrücke
Id: arith.tex,v 1.2 2003/11/24 14:18:43 joe Exp
Arithmetische Ausdrücke kann man so definieren:
Ausdruck -> Zahl | Ausdruck + Ausdruck | Ausdruck - Ausdruck | Ausdruck * Ausdruck | Ausdruck / AusdruckDas ist mehrdeutig.
Aufgabe: machen Sie das so eindeutig, daß die aus der Grundschule bekannten Ableitungsbäume entstehen.