Hallo!
Wie kann ich eine Funktion schreiben, die einen booleschen Ausdruck mit einer oder mehreren Unbekannten auswertet?
Man soll also der Funktion z.B. folgenden String übergeben: ((NOT a) AND ((1 OR b) XOR (0 AND c))) und sie soll den String (NOT a) zurückgeben.
Ich bin gedanklich schon so weit zu wissen, dass sich das mit einer Rekursion machen lassen müsste, aber dazu müsste ich den Operator ganz in der Mitte (im Beispiel das kursive AND) herausfinden und den String an der Stelle zerlegen. Wie könnte ich das machen?
Ach ja: Das "faul" im Titel ist so gemeint, dass der Interpreter mit dem Interpretieren eines Unterausdrucks aufhören soll, sobald das Ergebnis klar ist (also z.B. 0 AND x => 0).