Ich versuche, einige Prädikate zu schreiben, um die folgende Aufgabe zu lösen (learnprolognow.com)
Angenommen, wir haben eine Wissensbasis mit den folgenden Fakten:
tran(eins,one).
tran(zwei,two).
tran(drei,three).
tran(vier,four).
tran(fuenf,five).
tran(sechs,six).
tran(sieben,seven).
tran(acht,eight).
tran(neun,nine).
Schreiben Sie ein Prädikat listtran(G,E), das eine Liste von deutschen Zahlwörtern in die entsprechende Liste von englischen Zahlwörtern überträgt. Zum Beispiel:
listtran([eins,neun,zwei],X).
geben sollte:
X = [one,nine,two].
Ich habe geschrieben:
listtran(G,E):- G=[], E=[].
listtran(G,E):- G=[First|T], tran(First, Mean), listtran(T, Eng), E = [Mean|Eng).
Aber ich erhalte die Fehlermeldung: "Illegaler Beginn des Terms" beim Kompilieren. Irgendwelche Vorschläge?