2.2 Diller ve Yapıları

    Dilleri kabaca düzenli ve bağlam duyarsız (context-free) olarak sınıflandırabiliriz.
Burada düzenli'nin anlamı, belirli bir grafik algoritması içinde herhangi bir kelimenin
o dilden olup olmadığına karar verebilmemizdir. Örneğin: yanyana üç sıfır haricinde
herşeyi kabul eden dil düzenlidir. Bunun için aşağıdaki gibi bir DFA oluşturabiliriz.
Fakat içinde a ve b harflerini eşit sayıda barındıran bir dil düzenli değildir. Bunun
nedeni a ve b harlerinin sayılarını tutamıyor olmamız.

 
Asıl sorun ise bütün işe yarayan dillerin düzenli olmaması. Türkçe sonsuz bir dildir.
Örneğin: Büyük bir dolaptaki çekmeceden bahsederken 'içindeki' deriz. O çekmecenin
içindeki bir kutu için 'içindekindeki', onun içindeki için 'içindekindekindeki' .... Ayrıca
sağdan eklemeli bir dil olması işleri ayrıca zorlaştırmaktadır. Türkçede 4000 kadar fiil
ve bunların herbirine  gelebilecek 2000 kadar ek olması, bazı düzenli dillerdeki gibi
kelime listesi kullanarak imla kontrolü yapmamızı imkansızlaştırmaktadır. Ancak genel
kullanımdaki kelimelerin listesiyle kontrol yapılabilir. Bu da pek sağlıklı olmaz.