Schlüsselwörter haben unterschiedliche Bedeutungen, abhängig vom Kontext.
Manche Anweisungen sind mit einem Semikolon beendet, anderen folgen mehrere Zeilen, die mit Semikolon beendet werden können, aber nicht müssen.
Gleiche Schlüsselwörter können mehrfach in verschiedenen Abschnitten auftauchen.
Leerzeilen und unterschiedlichste Kommentare können überall enthalten sein.
Wenn man den Code interpretiert ist das nicht unbedingt ein Problem.
Auch eine einfache Formatierung (Einfügen und entfernen von Leerzeichen) ist noch machbar, aber wenn man den Code komplett neu ordnen möchte, dann wird das schon sehr komplex.
Je nach Kontext muss dann (wenn ich meine Zielstellung vor aus setze) dann der gleiche Abschnitt auch unterschiedlich formatiert werden. Z.B. sollte ein Var-Abschnitt im Interterface-Teil Leerzeilen haben und in einer Methode nicht.
Vielleicht möchten manche Entwickler auch gar keinen Zeilenumbruch, falls es z.B. nur um eine Variable geht (
var I: Integer;
).
Ich habe jedenfalls jetzt eine Vorstellung davon, warum der Compiler und Error Insight nicht immer gleichermaßen mit einem Quelltext klar kommen.
Offensichtlich werden da zwei unterschiedliche Parser genutzt und für beide alle Fälle gleich zu erkennen, wird nicht so einfach sein. Ist aber nur eine Vermutung meinerseits. Genaue Infos habe ich dazu nicht.
Delphi-Pascal lässt sehr viele Freiheiten und "Gestaltungsmöglichkeiten". Das ist zwar zunächst erst mal begrüßenswert, aber inzwischen würde ich es bevorzugen, dass es klarere Regeln gibt und die
IDE den Entwickler dafür aber mehr unterstützt.
Der Code wäre zwar stärker in ein Korsett gezwungen, aber die
IDE könnte den Entwickler besser unterstützen, da es klarere Regeln gäbe.
PS: Ist Dein Parser für Delphi-Code?