AlgoDat Aufgabe 47 a)
Christian.Semrau

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