edit @idefix: ich glaib dieses operator gewurschtel ist von delphi erlaubt, finde ich perönlich nicht so schön
Meinst du das
1+-+-+-+-+-2
?
Wenn man klammern setzt, dann läßt sich erkennen, daß es damit eigentlich keine Probleme geben sollte.
1+(-(+(-(+(-(+(-(+(-2)))))))))
Man könnte aber auch einfach die Plus/Minus zählen und entsprechend handeln.
So mach ich das in meinem Billigparser.
Das erste Plus Der erste Operator ist die Rechenoperator
und die +/- danach sind das Vorzeichen.
* alle Plus (Vorzeichen) werden stur ignoriert (da eh ohne Wirkung)
* die Minus werden gezählt ... bei einer ungeraden Anzahl ist es ein "-" und bei einer geraden Anzahl ein ignorierbares "+".
1+(-+-+-+-+-2)
ergibt dann ein
1+(-- -- -2)
, also
1+(-2)