Ich habe eine Open-Source-Bibliothek geschrieben, die strukturierte Daten analysiert, aber die Wagenrücklauferkennung absichtlich ausgelassen hat, weil ich den Punkt nicht verstehe. Es erhöht die Komplexität und den Overhead bei geringem / keinem Nutzen.
Zu meiner Überraschung reichte ein Benutzer einen Fehler ein, bei dem der Parser nicht funktionierte, und ich stellte fest, dass die Daten CR-Zeilenenden im Gegensatz zu LF oder CRLF verwendeten.
Verwendet OSX seit dem Umstieg auf eine Unix-basierte Plattform keine Zeilenenden im LF-Stil?
Ich weiß, dass es Anwendungen wie Notepad ++ gibt, in denen die Zeilenenden so geändert werden können, dass CR explizit verwendet wird, aber ich verstehe nicht, warum jemand dies möchte.
Ist es sicher, die Unterstützung für den statistisch nicht signifikanten Prozentsatz der Benutzer auszuschließen, die sich (aus welchen Gründen auch immer) für die alten Zeilenenden im Mac OS-Stil entscheiden?
Aktualisieren:
Zur Verdeutlichung erfordert die Unterstützung von Windows-Zeilenenden (z. B. CRLF) keine CR-Token-Erkennung. Aus Effizienzgründen wird der Lexer auf Zeichenbasis abgeglichen. Durch das unbeaufsichtigte Ignorieren von CR-Zeichen wird das CRLF-Token zu LF vereinfacht. Das CRLF-Token selbst könnte als ein eigener Anachronismus betrachtet werden, aber darum geht es in dieser Frage nicht.
Das letzte Betriebssystem, das systemweite Unterstützung für Zeilenenden im CR-Stil bot, war Mac OS 9 . Ironischerweise ist Microsoft Excel die einzige Anwendung, die es noch als Standard in OSX verwendet.
CR
Zeilenumbrüche in Ihre Codebasis zu schaufeln . (... und wenn Sie der festen Überzeugung sind, dass dies nicht der Fall ist, muss das Design Ihres Parsers ziemlich hektisch sein)