Christian Kruse: Probleme mit Template-Bibliothek

Beitrag lesen

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