Escribí una biblioteca de código abierto que analiza datos estructurados pero intencionalmente omitió la detección de retorno de carro porque no veo el punto. Agrega complejidad adicional y gastos generales para poco o ningún beneficio.
Para mi sorpresa, un usuario envió un error donde el analizador no funcionaba y descubrí que la causa del problema era que los datos usaban terminaciones de línea CR en lugar de LF o CRLF.
¿No ha estado OSX usando terminaciones de línea de estilo LF desde que se cambió a una plataforma basada en Unix?
Sé que hay aplicaciones como Notepad ++ donde las terminaciones de línea se pueden cambiar para usar CR explícitamente, pero no veo por qué alguien querría hacerlo.
¿Es seguro excluir el soporte para el porcentaje estadísticamente insignificante de usuarios que deciden (por cualquier razón) las antiguas terminaciones de estilo de Mac OS?
Actualizar:
Para aclarar, admitir los finales de línea de Windows (es decir, CRLF) no requiere el reconocimiento de token CR. Para fines de eficiencia, el lexer coincide por cada carácter. Al ignorar silenciosamente los caracteres CR, el token CRLF se simplifica a LF. Como tal, el token CRLF en sí mismo podría considerarse un anacronismo en sí mismo, pero de eso no se trata esta pregunta.
El último sistema operativo que proporcionó soporte en todo el sistema para las terminaciones de línea de estilo CR fue Mac OS 9 . Irónicamente, la única aplicación que todavía lo usa como predeterminada en OSX es Microsoft Excel.
CR
nuevas líneas en su base de código. (... y si cree firmemente que este no es el caso, el diseño de su analizador debe ser bastante agitado)