Lexer Yazmak: Karakterlerden Token'lara, C# ile Bookstore Filtre Dili
Lexer, karakter dizisini token'lara bölen ve her token'ın satırını ve sütununu bilen bir state machine'dir. Bookstore filtre dili için ReadOnlySpan<char> üzerinde tek geçişte çalışan bir C# lexer'ı yazıyoruz: maximal munch, Türkçe culture'da bozulmayan keyword eşleşmesi, InvariantCulture ile sayı okuma, surrogate pair'e dayanıklı hata kurtarma ve anlaşılır hata mesajları. Regex ile lexer'ın nerede kırıldığını ve Roslyn'in boşlukları neden trivia olarak sakladığını gerçek çıktılarla gösteriyoruz.
15 Kas 2026
·
14 dk
·
6