Für die Ausgabe von in irgendeiner Weise sinnvollen Fehlermeldungen hat die Schlauheit aber anscheinend nicht mehr gereicht :> Oder kannst Du mir erklären, warum der Interpreter sich über ein überflüssiges Semikolon beschwert, obwohl meilenweit kein Semikolon in Sicht ist und der eigentliche Grund die fehlende, abschließende Klammer einer if-Bedingung ist?
Du möchtest diese Bemerkung bitte zurückhalten, bis du es geschafft hast, die erste funktionierende künstliche Intelligenz zu entwickeln. Danke.
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.
Der Haken an der Geschichte war nur dummerweise, daß wie gesagt in der besagten Zeile kein Semikolon war (erst in der nächsten), sondern eine geschweifte Klammer. Also doppelt sinnlos: Kein Semikolon in Sicht, somit kann auch keines überflüssig sein und eine Klammer, die normalerweise den Anweisungsblock der if-Bedingung einleitet, woraus man schließen könnte, daß die if-Bedingung an diesem Punkt beendet sein soll.
Nun sammle ich meine Fehler nicht und kann deshalb die Konstruktion hier leider nicht mehr vorführen.
Dieser Einzelfall hätte mich auch nicht gestört, wenn es denn ein Einzelfall wäre und nicht öfters statt einer Fehlermeldungen ein Fehlerrätsel ausgespuckt wird.
Rein subjektiv kommt es mir jedenfalls so vor, daß PHP in dieser Hinsicht gegenüber zwei mir bekannten Modula-2-Systemen und auch GCC/C arge Probleme hat. Ich kann mich jedenfalls nicht erinnern, daß ich mit letzteren dreien dermaßen viel suchen mußte. Eventuell spielt da auch die Sprachstruktur von PHP mit rein, die vielleicht nichts anderes zulässt, weil sie gegenüber anderen Sprachen zu "locker" ist.
Aber vielleicht sollte ich einfach nicht soviele Fehler machen ;)
Gruß,
soenk.e