Moin,
Ist was wahres dran. Man könnte versuchen, eine Syntaxprüfung zu programmieren und die ausgeworfenen Fehlerstellen dann der Sichtkontrolle unterziehen. Unangenehem wird es aber, wenn Klammern fehlen und hinterher durch weitere fehlende Klammern wieder kompensiert werden. Das Gleiche gilt für Häkchen und andere Metazeichen, die auch im Datenstrom vorkommen können.
Jein, das hatte ich versucht klarzumachen. Das Datenformat ist in dieser Hinsicht freundlicherweise redundant: Klammern und Anführungszeichen sind zwar als Begrenzer drin, gleichzeitig hat man aber auch eine Längenangabe (die in Implementierungen die halbwegs performant sein wollen vermutlich als primäres Kriterium dienen wird).
D.h. im Falle von Strings weiss man wie lang der String ist, liest dann soviele Zeichen ein und wenn man dann nicht _genau_ auf einem Anführungszeichen zu stehen kommt, dann hat man einen Fehler gefunden. Und wie es nach dem Anführungszeichen weiterzugehen hat ist durch die vorhergehenden Daten auch genau festgelegt.
Entsprechend mit Arrays: man weiss wieviele Elemente drin vorkommen müssen und liest so viele ein. Wenn einem zwischendurch eine überflüssige Klammer begegnet oder man nach der richtigen Zahl Elemente nicht genau auf einer Klammer landet, hat man einen Fehler gefunden.
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~