Teori Bahasa dan Otomata 2 sks Pohon Penurunan dan penyederhanaan CFG Versi 1 Rifki Indra Perwira, S.Kom rifkiindra@gmail.com Course Introduction
Cakupan Bahasan Aturan bahasa bebas konteks (CFG) Pohon penurunan Reguler vs bebas konteks Penyederhanaan CFG
Aturan bahasa bebas konteks (CFG) CFG menjadi dasar pembentukan suatu parser (kompilator) RG terbatas pada ruas kanan/produksinya Hampir mirip dengan RG, Cuma ruas kanan tak hingga produksinya ( > 1 simbol Non terminal) Aturan yang menunjukkan bagaimana menghasilkan untai-untai dalam sebuah bahasa
Statement !! Pada kasus bahasa reguler, hampir semua dapat diturunkan menjadi simbol terminal Pada (CFG) saat menurunkan string, simbol-simbol variabel akan mewakili bagian yang blm terturunkan. (α β) Namun tidak semua bisa diturunkan hingga final, sehingga terjadi kasus looping atau statement yang berulang-ulang dalam mencari sebuah kondisi final Solusinya adalah pohon penurunan
Pohon penurunan Konsep hampir sama dengan cara konvensional (ingat bab 3 grammar) Salah satu cara lain untuk menurunkan simbol Non terminal(variable) menjadi terminal Diharapkan bisa menghasilkan kondisi terminate untuk seluruh kombinasi yang berpotensi masih muncul
Jika punya CFG sbb: S XY X xX | x Y yY | y Maka bisa dicari string-string terminate : Sxy; Sxxyy; S xyy; dst
Tetapi jika menggunakan pohon penurunan S XY X xX | x Y yY | y S X Y x y
Proses penurunan Penurunan terkiri : Simbol variabel terkiri di perluas dahulu Penurunan terkanan: Simbol variabel terkanan di perluas dahulu
Gambaran S aAS | a A SbA | ba Mencari ‘aabbaa’ dengan penurunan kiri didapat : S aAS S aSbAS S aabbaS S aabbaa Mencari ‘aabbaa’ dengan penurunan kanan : S aAa S aSbAa
Dengan pohon penurunan S b S aAS | a A SbA | ba