nka fertig

This commit is contained in:
2021-04-11 19:15:05 +02:00
parent dde7f74789
commit db98dc4f55

View File

@@ -14,7 +14,29 @@ def scan_word( state, word, stack ):
word = word[1:] # Ersten Buchstaben vom Restwort abtrennen word = word[1:] # Ersten Buchstaben vom Restwort abtrennen
# Übergangsfunktion # Übergangsfunktion
if state == 0:
if stack_char == "#":
if char == "a":
return scan_word(0,word,["A","#"]+stack)
elif char == "b":
return scan_word(0,word,["B","#"]+stack)
elif stack_char == "A":
if char == "a":
return scan_word(0,word,["A","A"]+stack) or scan_word(1,word,stack)
elif char == "b":
return scan_word(0,word,["B","A"]+stack)
elif stack_char == "B":
if char == "a":
return scan_word(0,word,["A","B"]+stack)
elif char == "b":
return scan_word(0,word,["B","B"]+stack) or scan_word(1,word,stack)
elif state == 1:
if stack_char == "A":
if char == "a":
return scan_word(1,word,stack)
elif stack_char == "B":
if char == "b":
return scan_word(1,word,stack)
# Übergänge und Rekursionsaufrufe # Übergänge und Rekursionsaufrufe
# siehe nka_anbn.py für ein Beispiel # siehe nka_anbn.py für ein Beispiel