Bir Yıldız İşaretinden Daha Fazlası: Regex’in Gizli Dil Hiyerarşisi

Bir metinde e-posta adresi bulmak, log dosyasından hata kodu çekmek ya da bir form alanının yalnızca rakam kabul etmesini sağlamak için yazdığımız .*, +, ? ve köşeli parantezler ilk bakışta mütevazı araçlardır. Fakat bu semboller, bilgisayar biliminin en zarif fikirlerinden birine açılan kapıdır: Her desen aynı türden değildir; her dili aynı güçte bir makine tanıyamaz. Regex yazarken aslında, çoğu zaman fark etmeden, Chomsky Hiyerarşisi denen matematiksel bir karmaşıklık merdiveninde dolaşırız.

Desen aramak mı, dil tanımlamak mı?

Regex çoğu geliştiricinin zihninde bir “metin bulma aracı”dır. Oysa kuramsal açıdan düzenli ifade, bir dili tanımlar: Kabul edilecek tüm karakter dizilerinin kümesini. Örneğin ab*, önce bir a, ardından sıfır veya daha fazla b içeren dizileri tanımlar: a, ab, abbb gibi. Bu küçük ifade, sonsuz sayıda olası metni birkaç sembolle tarif eder. Gücü tam da buradadır: Sonlu bir tariften sonsuz bir davranış üretmek.

Kaybolan diller

Şu an dünya üzerinde 2724 dil tehdit altında veya tamamen yok olmuş. Üstelik bu son yüzyıl içinde gerçekleşmiş.

Türkiye’de de 14 dil aynı şekilde tehdit altında veya nesli tükenmiş durumda.

Abazaca – Romani
Hemşince
Lazca
Pontus Yunancası
Batı Ermenicesi

Yok olanlar:
Ubıhça
Mlahso
Kapadokya Yunancası
Suret

Tehlikede olanlar:
Gagavuzca
Judeo Espanyol
Turoyo
Abhazca – Adigece
Zazaki
Hervetin

Bir çoğunun bu dillerin isimlerini dahi ilk defa duyduğunu biliyorum. Kaybolan her kelime, her dil kaybolan bir kültür demektir. Dillerin yaşaması ve yaşatılması dünyanın ortak mirasının aktarılmasına katkıdır.