J'ai écrit une bibliothèque open source qui analyse les données structurées mais a intentionnellement omis la détection de retour chariot car je ne vois pas le point. Il ajoute une complexité et des frais supplémentaires pour peu ou pas d'avantages.
À ma grande surprise, un utilisateur a soumis un bogue où l'analyseur ne fonctionnait pas et j'ai découvert que la cause du problème était que les données utilisaient les fins de ligne CR par opposition à LF ou CRLF.
OSX n'utilise-t-il pas les fins de ligne de style LF depuis le passage à une plate-forme basée sur Unix?
Je sais qu'il existe des applications comme Notepad ++ où les fins de ligne peuvent être modifiées pour utiliser CR explicitement, mais je ne vois pas pourquoi quelqu'un voudrait le faire.
Est-il sûr d'exclure la prise en charge du pourcentage statistiquement insignifiant d'utilisateurs qui décident (pour une raison quelconque) des anciennes terminaisons de style Mac OS?
Mise à jour:
Pour clarifier, la prise en charge des fins de ligne Windows (c'est-à-dire CRLF) ne nécessite pas de reconnaissance de jeton CR. Pour des raisons d'efficacité, le lexer correspond sur une base par caractère. En ignorant silencieusement les caractères CR, le jeton CRLF se simplifie en LF. En tant que tel, le jeton CRLF lui-même pourrait être considéré comme un anachronisme qui lui est propre, mais ce n'est pas de cela qu'il s'agit.
Le dernier système d'exploitation qui fournissait une prise en charge à l'échelle du système pour les fins de ligne de style CR était Mac OS 9 . Ironiquement, la seule application qui l'utilise encore par défaut dans OSX est Microsoft Excel.
CR
sauts de ligne dans votre base de code. (... et si vous croyez fermement que ce n'est pas le cas, la conception de votre analyseur doit être assez mouvementée)