90 likes | 318 Views
Penghilangan rekursif kiri. Aturan Produksi Rekursif. Aturan Produksi yang rekursif memilki ruas kanan ( hasil produksi ) yang memuat simbol variabel pada ruas kiri . Sebuah aturan produksi dalam bentuk : A
E N D
AturanProduksiRekursif AturanProduksi yang rekursifmemilkiruaskanan (hasilproduksi) yang memuatsimbolvariabelpadaruaskiri. Sebuahaturanproduksidalambentuk: A βA merupakanaturanproduksi yang rekursifkanan β=(V∪T)* ataukumpulan simbol variabel dan terminal
Contohaturanproduksi yang rekursifkanan: S dS B adB Produksidalambentuk: A Aβ Merupakanaturanproduksi yang rekursifkiri, contohnya: S Sd B Bad
Produksi yang rekursifkananmenyebabkanpohonpenurunantumbuhkekanan, sebaliknyaProduksi yang rekursifkirimenyebabkanpohonpenurunantumbuhkekiri. Bisa dilihat pohon penurunanpada gambar 11.1 dari tata bahasa bebas konteks dengan aturanproduksi: S aAc A Ab | ε
Dalambanyakpenerapantatabahasa, rekursifkiritakdiinginkan. Untukmenghindaripenurunan yang bisamengakibatkanloop kitaperlumenghilangkansifatrekursifkiridariaturanproduksi. Penghilanganrekursifkiridisinimemungkinkansuatutatabahasabebaskonteksnantinyadiubahkedalambentuk normal Greibach.
TahapanPenghilanganRekursifKiri Langkah-langkahpenghilanganrekursifkiri: • Pisahkanaturanproduksi yang rekursifkiridan yang tidak, misal: Aturanproduksi yang rekursifkiri: A Aα1 | Aα2 | Aα3 | ....... Aαn Aturanproduksi yang tidakrekursifkiri (termasukproduksiε): A β1 | β2 | β3 | ........ Βm Dari situ kita bisa tentukan α1, α2, .... αn, dan β1, β2, .... βm dari setiap aturan produksiyang memilikisimbolruaskiri yang sama
Lakukanpenggantianaturanproduksi yang rekursifkiri, menjadisebagaiberikut: 1) A β1Z | β2Z | .... βmZ 2) Z α1 | α2 | α3 | .... αn 3) Z α1Z | α2Z | α3Z | .... αnZ Penggantian diatas dilakukan untuk setiap aturan produksi dengan simbol ruas kiri yang sama. Bisa muncul simbol variabel baru Z1, Z2 dan seterusnya, sesuai banyaknyavariabel yang menghasilkanproduksi yang rekursifkiri. • Hasilakhirberupaaturanproduksipenggantiditambahdenganaturanproduksisemulayang tidakrekursifkiri.