Grammar (CFG)
Penyederhanaan Context Free Grammar (CFG)bertujuan untuk melakukan pembatasan
sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak perlu atau
aturan produksi tak berarti.
Missal :
S → AB | a
A→a
Kelemahanya adalah aturan produksi S → AB tidak berarti karena B tidak memiliki
penurunan.
Produksi yang memuat simbol variabel yang tidak memiliki penurunan yang akan
menghasilkan terminal-terminal seluruhnya.
Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal
sehingga produksi itu redundan.
Contoh :
S → aSa | Bde
B → BBB | a
Contoh lain :
S → Aa | B
A → ab | D
B→b|E
C → bb
E → aEa
A→D
C → bb
E → aEa
B→E
Hasil akhir dari penyederhanaanya adalah :
S → Aa | B
A → ab
B→b
DEFINISI SBB :
Produksi unit adalah produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu
simbol variabel, misalkan : A → B, C → D. Keberadaanya membuat tata bahasa memiliki
kerumitan yang tak perlu, maka bisa dihilangkan.
Langkah penyederhanaanya :
S → Sb
S→C
C→D
C → ef
D → dd
Jabarkan penurunan masing – masing himpunan :
C → D => C → dd
S → C => S → dd | ef
Maka hasilnya adalah sbb :
S → Sb
S → dd | ef
C → dd
C → ef
D → dd
Langkah Penyerdehanaan CFG
Hilangkan simbol yang terdapat empty ( Є ) dalam himpunan produksi
Simbol variabel tidak di hapus jika terdapat cabang terminal / variabel yang saling
berhubungan
Buat himpunan dengan simbol yang dihilangkan dan yang tidak
Contoh :
S → bcAd
A→e
Maka variabel A bisa di hilangkan, sehingga menjadi :
S → bcd
Kasus lain :
S → bcAd
A → bd | Є
Maka hasilnya akan menjadi :
S → bcAd | bcd
A → bd
Karena A → Є bukan satu-satunya produksi dari A
Kasus lainya :
S → Ab | Cd
A→d
C→Є
Hasil penyederhanaan CFG sebagai berikut :
S → Ab | d
A→d
Contoh lain :
S → dA | Bd
A → bc
A→Є
B→c
Hasil penyederhanaan CFG sebagai berikut :
S → dA | Bd
A → bc
B→c
Contoh lainya :
S → AaCD
A → CD | AB
B → b | Є
C→d|Є
D→Є
Hasil penyederhanaan CFG sebagai berikut :
S → AaC | aC |Aa | a
A → C | AB | A | B
B→b
C→d