Parser/Interpreter programmieren

Hi,

ich plane grade quasi eine Mini-Programmiersprache (also eigentlich nur verschachtelte IF-Abfragen) zu bauen.
Beispiel: Hallo Wenn($VAR=1)Dann(Welt)Sonst(Erde)
Soll dann Hallo Welt bzw. Hallo Erde ausgeben.

Wie mache ich sowas?
Hinweis: In der Schule gehts bei uns zur Zeit um Automatentheorie, was dem Vorgehen ja wohl zugrunde liegt.

Danke Schonmal!

Das ist nicht so trivial. Zunächst musst du mal den zu interpretierenden Code parsen, ihn also in ein für dich verarbeitbares Format bringen. Dazu eignen sich z.B. Regular Expressions, mit denen man z.B. verschachtelte If-Abfragen identifzieren kann. So kannst du z.B. mit einem RegEx auf die innerste verschachtelte If-Abfrage matchen, diese aus dem Aufruf herausschneiden. Aus der Abfrage kannst du dann mit weiteren RegEx’s die Bedingung und ihre Bestandteile extrahieren.
Dann erstellst du dir z.B. eine Bedingungsklasse, in der du sowas speicehrn kannst und erstellst dir für dieses innerste If-Abfrage eine solche Bedingung.
Nach dem Abarbeiten der innersten If-Abfrage bleiben noch alle äußeren übrig. Mit denen kannst du ja dann genauso weiter verfahren. Am Schluss hast du dann eine Kette von Bedingungs-Objekten, die du dann der Reihe nach ausführen kannst.