Auswertung von a-b*c-d/b*e:
(Ausdruecke im Stack bedeuten jeweils den berechneten Wert des Ausdrucks)
Aktion | Operanden | Operatoren |
Eingabe lautet a-b*c-d/b*e | leer | leer |
a pushen, Operatorenstack leer- pushen | a | - |
b pushen, * hat höhere Priorität als -* pushen | a, b | -, * |
c pushen, - hat geringere Priorität als **
auswerten
- hat gleiche Priorität wie -- auswerten Operatorenstack leer- pushen |
a, b*c
a-b*c a-b*c |
-
leer - |
d pushen, / hat höhere Priorität als -/ pushen | a-b*c, d | -, / |
b pushen, * hat gleiche Priorität wie //
auswerten
* hat höhere Priorität als -* pushen |
a-b*c, d/b
a-b*c, d/b |
-
-, * |
e pushen | a-b*c, d/b, e | -, * |
Eingabe leerStack
auswerten:
* auswerten - auswerten |
a-b*c, d/b*e a-b*c-d/b*e |
- leer |
Eingabe und Operatorenstack leerfertig, Ergebnis steht im Stack | a-b*c-d/b*e | leer |