Teori Bahasa dan Otomata 2 sks
description
Transcript of Teori Bahasa dan Otomata 2 sks
Teori Bahasa dan Otomata2 sks
Rifki Indra Perwira, [email protected]
Pohon Penurunan dan penyederhanaan CFG
Versi 1
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 XYX xX | xY yY | y
S
X Y
x X y Y
x y
Proses penurunan
1. Penurunan terkiri : Simbol variabel terkiri di perluas dahulu
2. Penurunan terkanan: Simbol variabel terkanan di perluas dahulu
GambaranS 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
a A S
S b A
a b a
a
SS aAS | aA SbA | ba