Wie eine Linksableitung funktionert, ist mir klar, nur wie soll man das ganze aufschreiben?
wie man so eine ableitung eben aufschreibt
beispiel
S -> NNN
N -> t
linksableitung für ttt:
S => NNN => tNN => ttN => ttt
eventuell spasseshalber so:
S => NNN => tNN => ttN => ttt
li li li li
und wie soll der ableitungsbaum zu deinem beispiel ausehen?
S
|
NNN
/ | \
t t t
(???)
sollte lambda in der linksableitung auch auftreten, oder gleich weglassen?
lambdas kann man in der ableitung nicht weglassen, sonst hat man ja noch die entsprechenden nonterminale
Muss man bei dieser Aufgabe eigentlich bei S beginnen?
Oder kann man auch gleich mit A oder B anfangen?
Es ist doch so, dass ich A solange durch laufe bis ich fertig bin und dann wieder zu S gehe oder?
Beispiel:
S -> A1B|CD
A -> 0A|D|lambda
00101: S ->A; A->0A = 0
A->0A = 00
wieder zu S: S->A1 = 001
ab zu B: B-> 0B = 0010
wieder zu S = A1B usw. bis das Wort 00101 da ist.
LG Frischling
Muss man bei dieser Aufgabe eigentlich bei S beginnen?
Oder kann man auch gleich mit A oder B anfangen?
eine ableitung beginnt bei S, irgendwo muss man anfangen,
wieso woanders als beim startzustand?
Es ist doch so, dass ich A solange durch laufe bis ich fertig bin und dann wieder zu S gehe oder?
klingt komisch, kann ich nicht genau beurteilen, was du da meinst
Beispiel:
S -> A1B|CD
A -> 0A|D|lambda
00101: S ->A; A->0A = 0
A->0A = 00
wieder zu S: S->A1 = 001
ab zu B: B-> 0B = 0010
wieder zu S = A1B usw. bis das Wort 00101 da ist.
du beschreibt durchaus anschaulich, wie man 00101 ableiten kann,
der weg sieht gut aus,
aber mit formalen aufschreiben etwa einer ableitung hat das ganze nichts zu tun
(falls du dazu eine bemerkung hören wolltest ;), sonst ignorieren),
da fängt man bei S an, hat lauter folgepfeile und endet bei 00101,
wie etwa in meinem beispiel unten:
S => NNN => tNN => ttN => ttt
nix mit semikolon, gleichheitszeichen, teilableitungen oder sprüngen
Hab ich ja auch hier zu Hause gemacht:
Anfang: Wir haben S -> A1B|CD, da | eine Alternative ist und wir die Alternative nicht wählen, nehmen wir S->A1B
S=>A1B=>0A1B=>00A1B=>00lambda1B usw und sofort!
Wir müssen ja lambda nehmen sonst finden wir bei kein Ende! und das war ja meine Frage, ob man einfach S=>A1B=>001B usw. machen können also das zweite mal A ignorieren und gleich wieder bei S anfangen oder ob das lambda sein muss.
LG Frischling
S=>A1B=>0A1B=>00A1B=>00lambda1B usw und sofort!
sieht gut aus, lambda muss man nicht ausschreiben,
den schritt darf man aber nicht weglassen!
Wir müssen ja lambda nehmen sonst finden wir bei kein Ende! und das war ja meine Frage, ob man einfach S=>A1B=>001B usw. machen können also das zweite mal A ignorieren und gleich wieder bei S anfangen oder ob das lambda sein muss.
eigentlich jeden schritt einzelnd, also brav A für A,
auch für die A -> lambda-regel einen ableitungsschritt,