Gast
#2453625
Hallo, auf der Suche nach Beispielprogrammen für einen einfachen Interpreter bin ich auf diese Seite mit einem Java-Beispiel gestoßen: http://www.javaseiten.de/ch04s01.html Und zwar geht es mir um das Listing 4.1. Mit dem Programm sollen einfache arithmetische Ausdrücke in die postfix Notation gewandelt werden (geht mir nur um die Umwandlung in diese Notation, der Rest mit dem Java Bytecode ist nicht von Belang). Das Beispiel wird mit dem Ausdruck "3+7*5-9/3" getestet, was da auch funktioniert. Ich kann das Programm jetzt nicht testen, da ich keinen Java Compiler auf meinem Rechner habe. Aber wenn ich das im Kopf durchgehe, würde das Programm aber einen Ausdruck wie "3+7+5*9" nicht in korrekte Postfix Notation wandeln, welche meiner Meinung nach "3 7 5 9 * + +" wäre. Oder habe ich da etwas übersehen? Eine andere Frage die ich dazu habe: Im Wikipedia-Artikel zur UPN steht, dass ein Stapelregister mit 4 Einträgen für alle Operationen ausreicht. Mit dem Einfach-Compiler aus dem Java-Beispiel wäre diese Anzahl nicht ausreichend, da ich bei diesem theoretisch unendlich viele Stapelregister bräuchte. Oder man müsste in einem zweiten Schritt die Notation umsortieren. Wie wird sowas am besten gemacht?