Huhu Sven,
Typisches IF-Konstrukt:
IF (ausdruck) THEN (then-anweisung) ELSE (else-anweisung)
Ein "passender" Baum:
Knoten 3 (Typ IF)
/ \ (ausdruck) THEN
/ \ (then-anweisung) (else-anweisung)
Wie gesagt, es ging mir nicht um die Darstellung des True- bzw.
False-Zweiges, sondern um die Darstellung von 'ausdruck'. Wie stelle ich
AND, OR, XOR dar, wie werte ich die komplette Bedingung aus?
Du brauchst (und hast hoffentlich schon) einen Knoten-Typ zum Rechnen.
Nunja, "rechnen" ist so ein Wort. Ich habe Operatoren, die etwas machen :)
Was, das weiss die Engine eigentlich gar nicht, sondern nur der Operator
selber.
[... beispiel fuer Funktionsplotter ...]
Es ist jetzt "nur noch" deine Aufgabe, die Knoten entsprechend zu behandeln
und z.B. Knotentypen und Knotenauswertelogik für AND, OR, XOR, ==, !=, <, >
etc. herzustellen.
Dann zeichne mir doch mal so einen Baum auf. Das ist naemlich gar nicht so
einfach, wie bei einer Funktion. Mal ein Beispiel:
if($var == 5 AND $var1 < 3 OR $var2 == 3)
Gut. Fangen wir mal an. Der erste Teilbaum ist ja recht einfach:
==
/ \
5 $var
So. Und wo wird jetzt das AND eingefuegt?
Hm, obwohl... mir faellt da gerade etwas ein... wie waere es mit so:
AND
/ \
== OR
/ \ / \
5 $var < ==
/ \ / \
$var1 3 $var2 3
So muesste es eigentlich gehen... jetzt nur noch umsetzen *g*
Ist doch "ganz einfach"[tm]. ;)
Ja, nur nicht, wenn man kaum (ca. 1h) geschlafen hat und schon seit Tagen daran
sitzt :( Diese Baum-Strukturen sind mir neu, sowas habe ich vorher noch nie
gemacht -- lediglich einmal Daniela ueber die Schulter geschaut.
Gruesse,
CK