Mühsames Verhalten des Compilers - Nix formatfreie Syntax?
Verfasst: 01.08.2020, 18:38
Ich habe gerade ewig lang Zeit damit verbraten, mich über völlig unverständliche Compiler-Fehlermeldungen zu ärgern!
Das Resultat war die Erkenntnis, dass der Compiler offensichtlich völlig ausrastet, wenn man ein "sonst wenn ..." auf eine gemeinsame Zeile zusammenzieht, d.h. wenn man statt immer weiterer Einrückungen wie
lieber einen Stil wie in Java oder C(++) verwenden würde:
Im 2. Fall meckerte der Compiler ständig die 2. Wenn-Bedingung an.
Seltsamerweise trat das Problem erst ab einer gewissen Komplexität des zweiten wenn-Ausdrucks auf. Einen einfachen Vergleich schaffte er noch, aber wenn man dann mehrere Terme mit "und" bzw. "oder" kombiniert , dann meldet er immer Syntax-Fehler.
Erst das Verschieben des ganzen Wenn-Ausdrucks auf eine neue Zeile (also ein new-line nach dem "sonst") hat das Problem behoben.
Offensichtlich haben die Compiler-Schreiber noch nie was von formatfreier Syntax gehört (also eine Sprach-Syntax, bei der die Formatierung keine Rolle spielt)! ||-(
Das Resultat war die Erkenntnis, dass der Compiler offensichtlich völlig ausrastet, wenn man ein "sonst wenn ..." auf eine gemeinsame Zeile zusammenzieht, d.h. wenn man statt immer weiterer Einrückungen wie
Code: Alles auswählen
wenn ... dann
...
sonst
wenn ... dann
...
sonst
wenn ... dann
...
sonst
...
endewenn
endewenn
endewenn
Code: Alles auswählen
wenn ... dann
...
sonst wenn ... dann
...
sonst wenn ... dann
...
sonst
...
endewenn
endewenn
endewenn
Seltsamerweise trat das Problem erst ab einer gewissen Komplexität des zweiten wenn-Ausdrucks auf. Einen einfachen Vergleich schaffte er noch, aber wenn man dann mehrere Terme mit "und" bzw. "oder" kombiniert , dann meldet er immer Syntax-Fehler.
Erst das Verschieben des ganzen Wenn-Ausdrucks auf eine neue Zeile (also ein new-line nach dem "sonst") hat das Problem behoben.
Offensichtlich haben die Compiler-Schreiber noch nie was von formatfreier Syntax gehört (also eine Sprach-Syntax, bei der die Formatierung keine Rolle spielt)! ||-(