110 likes | 371 Vues
Teori Bahasa dan Otomata 2 sks. Pohon Penurunan dan penyederhanaan CFG Versi 1. Rifki Indra Perwira, S.Kom rifkiindra@gmail.com. Cakupan Bahasan. Aturan bahasa bebas konteks (CFG) Pohon penurunan Reguler vs bebas konteks Penyederhanaan CFG. Aturan bahasa bebas konteks (CFG).
E N D
Teori Bahasa dan Otomata2 sks PohonPenurunandanpenyederhanaan CFG Versi 1 Rifki Indra Perwira, S.Kom rifkiindra@gmail.com
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 y x 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 aAS S aAa S aSbAa S aabbaa
Dengan pohon penurunan S S aAS | a A SbA | ba S a A a S A b a b a