Und wenn Du keine Lust hast auf bestehendes zurück zu greifen, vielleicht hilft folgender Ansatz.
Das Verfahren nennt sich UPN (Umgekehrte-Polnische-Notation) woher auch immer der Name kommt...
Das ganze funktioniert über eine art Stack (Funktionsprinzip der Programmiersprache Forth).
Aus 3+4*5 wird dann erstmal 3 4 +
Als nächstest wir *5 in den Stack gepushed...
Und es entsteht - weil (Punkt vor Strichrechnung gilt)
3 4 + 5 *
Wenn Du das in (In diesem Fall von hinten nach vorne) auswertest....
case Get_Operator of
_Mul : begin
Get_Zahl(A);
Get_Zahl(B);
Push(A*B); // wieder auf den Stack... 3 20 +
end;
usw.. Somit erhälst Du problemlos eine Routine, die Deine Formel auseinander nehmen kann...
Frank
Hoff es hilft Dir weiter...