Ausdruck auswerten



  • Hallo zusammen,

    ich schreibe gerade einen Minicompiler, der Zeichenoperationen interpretieren soll. Das Parsen des Eingabeausdrucks klappt soweit. Nun folgt noch das eigentlich Interessante, nämlich die Auswerten, also die "Compilierung". Dazu habe ich eine Frage zur Herangehensweise.

    Ein Ausdruck könnte so aussehen: ellipse(12,12,15,15) AND qube (30,30,30,30)

    Es soll hier der Schnitt einer Ellipse mit einem Würfel gezeichnet werden. AND ist nur ein Operator. Es gibt auch z.B. OR, der jedoch eine niedrigere Präzedenz hat. Das muss beachtet werden.

    Bevor ich mich ans Implementieren mache, möchte ich gerne einen guten Plan haben. Ich hatte mir überlegt, den am tiefsten verschachtelten Ausdruck (Klammerung ist möglich) herauszusuchen und diesen auszuwerten. Danach suche mir den nun am tiefsten liegenden Ausdruck heraus.
    Das alles kann jedoch sehr mühsam werden.

    Mich interessiert daher, wie ihr an solch eine Auswertung ginget. Stimmt ihr meiner Idee zu oder kann mich sich vieles leichter durch andere Strategien machen?

    Vielen Dank
    freakC++




Anmelden zum Antworten