Suche Home Einstellungen Anmelden Hilfe  

2.2.2 Beispiel für kontextsensitive Grammatiken

linkerKontext N rechterKontext -> linkerKontext w rechterKontext
N - ein Nichtterminal;
linkerKontext, rechterKontext und w - String über Nichtterminal- und Terminalalphabet

Animation einer Wortableitung:

JAWAA-Animation einer Ableitung

Wir wollen noch einen Kuchen haben. Allerdings ist unser Bäcker diesmal sehr ordentlich und etwas eigen. Öl kommt bei ihm nicht in den Kuchen und bei einem ordentlichen Kuchen werden die Zutaten zunächst mal nach Typ geordnet aufgereiht. Korrekte Wörter wären z.B.


ZuckerMehlEi oder
ZuckerZuckerMehlMehlEiEi

Gkuchen2 = ({S, M, X, Y, Z}, {Mehl,Zucker,Ei}, P, S)
Regeln P :
Generierung
1.S -> ZuckerMehlEi
2.S -> ZuckerM XEi
3.M -> Mehl
weitere Generierung
4.XEi -> Y EiEi
5.ZuckerY M -> ZuckerZuckerM X M
6.ZuckerY M -> ZuckerZuckerM M
Vertauschen
von M und Y
7.M Y -> Z Y
8.Z Y -> Z M
9.Z M -> Y M
Vertauschen
von X und M
10.X M -> Z M
11.Z M -> Z X
12.Z X -> M X

Y wird immer dann in die Ableitung eingefügt, wenn ein X zu einem Ei ersetzt wurde. Das Y kann so verstanden werden, dass die Ableitung solange unvollständig bleibt, bis das Verhältnis der Zutaten durch Zugabe von Zucker und Mehl wieder ausgeglichen ist.
Z ist ein Hilfssymbol, das beim Verdrehen von zwei Nichtterminalen nötig ist. Die Vertauschregeln können durch XM -> MX und MY -> YM abgekürzt werden.

Erweitern Sie die Grammatik so, dass man einen "ordentlichen" Kuchen auch mit Öl backen kann.

1   2 Eigenschaften kontextsensitiver Sprachen

Benutzer: Gast • Besitzer: matthias • Zuletzt geändert am: