Ich weis nicht, wo dein Probelm liegt
Bei dem Term
25 2 2 + sin * passiert doch folgendes:
push (25) // 25
push (2) // 25 ; 2
push (2) // 25 ; 2 ; 2
push(pop + pop) // 25 ; 4
push(sin(pop)) // 25 ; -0,757
push(pop * pop) // -18,92
pop liefert das oberste Element, push legt das element oben ab
So - wo war jetzt das Problem) binäre von unären Operatoren zu unterscheiden?