Saya menulis pustaka sumber terbuka yang mem-parsing data terstruktur tetapi sengaja mengabaikan deteksi carriage-return karena saya tidak mengerti intinya. Ini menambah kompleksitas dan overhead tambahan untuk sedikit / tanpa manfaat.
Yang mengejutkan saya, seorang pengguna mengirimkan bug di mana parser tidak berfungsi dan saya menemukan penyebab masalah adalah bahwa data menggunakan ujung garis CR yang bertentangan dengan LF atau CRLF.
Bukankah OSX telah menggunakan akhiran gaya LF sejak beralih ke platform berbasis unix?
Saya tahu ada aplikasi seperti Notepad ++ di mana ujung garis dapat diubah untuk menggunakan CR secara eksplisit tapi saya tidak melihat mengapa ada orang yang mau.
Apakah aman untuk mengecualikan dukungan untuk persentase yang tidak signifikan secara statistik dari pengguna yang memutuskan (untuk alasan apa pun) ke jajaran akhir gaya Mac OS?
Memperbarui:
Untuk memperjelas, mendukung akhir jalur Windows (yaitu CRLF) tidak memerlukan pengakuan token CR. Untuk tujuan efisiensi, lexer cocok dengan basis per-char. Dengan mengabaikan char CR secara diam-diam, token CRLF menyederhanakan ke LF. Dengan demikian, token CRLF sendiri dapat dianggap sebagai anakronisme sendiri tetapi bukan itu yang menjadi pertanyaan.
OS terakhir yang memberikan dukungan seluruh sistem untuk akhir baris gaya CR adalah Mac OS 9 . Ironisnya, satu-satunya aplikasi yang masih menggunakannya sebagai default di OSX adalah Microsoft Excel.
CR
baris baru ke basis kode Anda. (... dan jika Anda yakin ini bukan masalahnya, desain parser Anda harusnya sangat sibuk)