download

Matakuliah
Tahun
Versi
: T0162/Teori Bahasa dan Automata
: 2005
: 1/0
Pertemuan 8
CONTEXT FREE GRAMMAR
(CFG)
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• << TIK-99 >>
• << TIK-99>>
2
Outline Materi
•
•
•
•
•
Materi 1
Materi 2
Materi 3
Materi 4
Materi 5
3
CONTEXT FREE GRAMMAR (CFG)
• Mendefinisikan programming language
• Formalitas konsep Parsing
• Mendefinisikan ekspresi aritmatik
Komponen CFG :
• Non-terminal / syntactic category / variabel
• Terminal
4
CONTEXT FREE GRAMMAR (CFG)
• Production : aturan yang menghubungkan
variabel dengan variabel, variabel dengan
terminal.
• Simbol Production : 
5
CONTEXT FREE GRAMMAR (CFG)
Contoh Production :
1. <kalimat>
2. <subjek>
3. <predikat>
4. <objek>
5. <kata benda>
6. <kata kerja>
< ….. >

 <subjek> <predikat>
 <kata benda>
 <kata kerja> <objek>
 <kata benda>
 anjing nasi orang
 makan memukul
: variabel
: pilihan
6
CONTEXT FREE GRAMMAR (CFG)
Aplikasi produksi di atas secara berulang
akan menghasilkan suatu kalimat yang
utuh, misalnya :
“anjing makan anjing”
melalui proses “derivasi”
7
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
8
CONTEXT FREE GRAMMAR (CFG)
Derivasi menggunakan simbol :
Produksi untuk ekspressi aritmatik :
<ekspressi>
<ekspressi>
<ekspressi>
<ekspressi>
 <ekspressi> + <ekspressi>
 <ekspressi>  <ekspressi>
 (<ekspressi>)
 id
9
CONTEXT FREE GRAMMAR (CFG)
Menurunkan ekspresi aritmatika :
<ekspresi>  <ekspresi>  <ekspresi>
 (<ekspresi>)  <ekspresi>
 (<ekspresi> + <ekspresi>) 
<ekspresi>
 (id + id)  <ekspresi>
 (id + id)  id
10
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
11
CONTEXT FREE GRAMMAR (CFG)
Contoh :
CFG untuk ekspresi aritmatika :
E
E+E
E
E*E
E
 (E)
E
 id
12
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
13
<< CLOSING>>
14