Bei Pascal z.B. betrifft dies den '.' (wie in 7.1) und '..' (wie in [1..2]).
Beim rekursiven parsen in einen Grammatikbaum (Term von aussen nach innen) weiss der Parser, dass er eine eckige Klammer betreten hat wenn er deren Inhalt weiter zerlegt, und kann entsprechend andere Regeln anwenden, die in diesem Fall z.B. das Look-Ahead unnötig machen (keine Floats in Mengen zulässig).
Die gleiche Vorgehensweise erlaubt auch das Behandeln von "-". Nehme ich den Term "2--X" finde ich zuerst das erste "-", und gehe in die Rekursion mit "2" und "-X" als Restterme. Schalte ich meinem Tokenizer ein einfaches
if TermString[1] = '-' then TermString := '0'+TermString;
vor, kann ich das Vorzeichen wie ein ganz normales Minus behandeln.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)