Ya, tata bahasa konteks-sensitif (CSG) cukup kuat untuk melakukan pengecekan variabel tidak terdefinisi / tidak dideklarasikan, tetapi sayangnya kami tidak tahu algoritma yang efisien untuk mengurai string CSG.
Contoh nyata dari bahasa konteks-sensitif adalah bahasa pemrograman C. Sebuah fitur seperti mendeklarasikan variabel terlebih dahulu dan kemudian menggunakannya kemudian membuat bahasa-C bahasa konteks-sensitif (CSL). ( Saya tidak tahu tentang kalkulus lambda yang tidak diketik ).
Dan karena kita tidak tahu algoritma penguraian linear untuk CSL (atau CSG). Itulah alasan dalam desain kompiler, kami menggunakan CFG (dan algoritma parsingnya saja) untuk memeriksa sintaks karena kami tahu algoritma yang efisien untuk mengurai CFG (jika dalam bentuk terbatas). Compiler pertama-tama mengurai fitur bebas konteks dan kemudian menangani fitur sensitif konteks dengan cara yang problematis (misalnya, memeriksa variabel apa pun yang digunakan dalam tabel simbol jika itu didefinisikan. Jika tidak, ia menghasilkan kesalahan).
Tata bahasa konteks-sensitif juga digunakan dalam pemrosesan bahasa alami (NLP). Dan sebagian besar bahasa alami adalah contoh bahasa konteks-sensitif. (Saya tidak yakin dengan bahasa Sanskerta ).
Saya akan mencoba menjelaskannya dengan contoh yang konyol tapi sederhana (itu hanya sebuah ide, Anda dapat memperbaikinya):
NOUN --> { BlueBomber, Grijesh, I, We}
TENSE --> { am, was, is, were}
VERB --> { going, eating, working}
SENTENCE --> <NOUN> <TENSE> <VERB>
Sekarang, menggunakan tata bahasa ini, kita dapat menghasilkan beberapa pernyataan yang benar, tetapi ada juga yang salah. Sebagai contoh,
SENTENCE --> <NOUN> <TENSE> <VERB>
Grijesh is working [Correct statement]
Tapi
Grijesh am working [wrong statement]
Alasan: nilai <TENSE> tergantung pada nilai <NOUN> (misalnya, I <TENNSE> --> I am
) dan karenanya tata bahasa tidak menghasilkan pernyataan yang benar dalam bahasa Inggris.
Sebenarnya kita tidak bisa menulis tata bahasa bebas konteks untuk bahasa Inggris lengkap!
Anda mungkin telah memperhatikan, penerjemah bahasa alami atau pemeriksa tata bahasa tidak berfungsi dengan benar (coba dengan pernyataan panjang). Karena masalah ini datang di bawah algoritma parsing konteks-sensitif.
REFERENSI : Anda dapat menonton kuliah Dr. Arun Kumar .
Dalam beberapa kuliah ia menjelaskan dengan tepat apa yang Anda minati.