Pertemuan 8 CONTEXT FREE GRAMMAR (CFG) Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2005 Versi : 1/0 Pertemuan 8 CONTEXT FREE GRAMMAR (CFG)
<< TIK-99 >> << TIK-99>> Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : << TIK-99 >> << TIK-99>>
Outline Materi Materi 1 Materi 2 Materi 3 Materi 4 Materi 5
CONTEXT FREE GRAMMAR (CFG) Mendefinisikan programming language Formalitas konsep Parsing Mendefinisikan ekspresi aritmatik Komponen CFG : Non-terminal / syntactic category / variabel Terminal
CONTEXT FREE GRAMMAR (CFG) Production : aturan yang menghubungkan variabel dengan variabel, variabel dengan terminal. Simbol Production :
CONTEXT FREE GRAMMAR (CFG) Contoh Production : 1. <kalimat> <subjek> <predikat> 2. <subjek> <kata benda> 3. <predikat> <kata kerja> <objek> 4. <objek> <kata benda> 5. <kata benda> anjing nasi orang 6. <kata kerja> makan memukul < ….. > : variabel : pilihan
CONTEXT FREE GRAMMAR (CFG) Aplikasi produksi di atas secara berulang akan menghasilkan suatu kalimat yang utuh, misalnya : “anjing makan anjing” melalui proses “derivasi”
CONTEXT FREE GRAMMAR (CFG) Contoh Derivasi : <kalimat> <subjek> <predikat> <subjek> <kata kerja> <objek> <subjek> <kata kerja> <kata benda> <subjek> <kata kerja> anjing <kata benda> makan anjing anjing makan anjing
CONTEXT FREE GRAMMAR (CFG) Derivasi menggunakan simbol : Produksi untuk ekspressi aritmatik : <ekspressi> <ekspressi> + <ekspressi> <ekspressi> <ekspressi> <ekspressi> <ekspressi> (<ekspressi>) <ekspressi> id
CONTEXT FREE GRAMMAR (CFG) Menurunkan ekspresi aritmatika : <ekspresi> <ekspresi> <ekspresi> (<ekspresi>) <ekspresi> (<ekspresi> + <ekspresi>) <ekspresi> (id + id) <ekspresi> (id + id) id
CONTEXT FREE GRAMMAR (CFG) Secara formal : CFG ditunjukkan oleh : G = (V, T, P, S) dimana : V : himpunan variabel T : himpunan terminal V T = (disjoint) P : himpunan produksi : A A : variabel ( V T ) S : start symbol
CONTEXT FREE GRAMMAR (CFG) Contoh : CFG untuk ekspresi aritmatika : E E + E E E * E E (E) E id
CONTEXT FREE GRAMMAR (CFG) Konversi penggunaan simbol : 1. A, B, C, D, E dan S : variabel 2. Huruf kecil dan digit : terminal 3. X, Y, Z : terminal atau variabel 4. Huruf kecil : u, v, w, x, y, dan z : string variabel 5. Huruf kecil : , , : string variabel dan terminal Jika A 1, A 2, …, A n, ditulis A 1 2 … k
<< CLOSING>>