hi!
Aus der Sicht des Parsers ist die Meldung nämlich durchaus richtig:
Das kann der doch nicht riechen, dass deine if-Bedingung schon
fertig sein soll, wenn du es nicht hinschreibst. Da du ihm diesen
Hinweis durch die schliessende Klammer aber nicht gegeben hast,
muss er annehmen, dass der folgende Text noch dazu gehört, und
dann ist das Semikolon arg überflüssig.
Hm, ob ich mich davon schon überzeugen lassen sollte? ;)
Der Parser erwartet als if-Bedingung doch einen Ausdruck. Was danach
innerhalb der if-Anweisung steht, ist ein Statement. Ich glaube eher
nicht, dass der Parser einen Ausdruck nicht von dem nachfolgenden
Statement unterscheiden kann -- da sollte ja mindestens ein Leerzeichen
dazwischen stehen, was in einem Ausdruck nicht so ohne weiteres erlaubt
sein dürfte.
Zumindest also die Stelle, an der wirklich ein Fehler auftritt (die
fehlende Klammer nämlich), sollte der Parser erkennen. Das schaffen
ja auch Perl und GCC.
bye, Frank!