Frage:
L = {a^(n) b^(n+1) | n >= 1}
Für die Sprache L einen Stackautomaten (= Kellerautomaten) erstellen.
Code:
Wort w = aabbb wist z.B. in der Sprache
Startsymbol im Stack s0 = 0
(q0, a, 0) = (q0, 10)
(q0, a, 1) = (q0, 11)
(q0, b, 1) = (q1, Epsilon)
(q1, b, 1) = (q1, Epsilon)
(q1, b, 0) = (q2, Epsilon)
das geht ja leider aber nicht im letzten Schritt lese ich "b" und das letzte Symbol "0" im Stack aber das stimmt ja so nicht. Wenn ich ein "a" einlese schreibe ich im Stack eine "1" und wenn ich ein "b" einlese lösche ich eine "1" aus dem Stack aber mit b^(n+1) geht die Rechnung nicht aus.
kann ich dann beim einlesen des ersten b´s eine 1 in den Stack schreiben und bei den weiteren b´s die 1en löschen.
Bitte um Hilfe.
LG