In meinem Compiler habe ich rekursives parsen eingebaut. Undzwar wie folgt:
(von oberer zu unterer schicht, niedrigstes level bindet am stärksten):
releation := expression (relop Expression)
expression := Term (+- Term)*
term := factor (*/ Factor)*
factor := Var|Constant|Function call| '(' relation ')'
wenn ich bei Factor vor meinem wert ein '-' finde, weiß ich es ist ein vorzeichen. Die funktionen liefern übrigens bei mir einen Datentyp zurück. So kann ich ich typensicherheit verfolgen
edit @idefix: ich glaib dieses operator gewurschtel ist von delphi erlaubt, finde ich perönlich nicht so schön