Nama Ketua Kelompok Petrus Kayun
Nama Anggota Kelompok Ramadan P. Pello
Ridho A. Poy Sadam
Saferius M. Wake
Context Free
Grammar
Komponen Contex Free Grammar
Contex Free Grammar memiliki 4 komponen :
1.Sekumpilan token yang di kenal sebagai terminal 2. Sekumpulan nol terminal.
3. Sekumpulan produksi dimana setiap produksi memiliki nol terminal disebut sebagai bagian kiri dari produksi, sebuah panah dan seurutan token dan non terminal atau seurutan token atau non terminal yang disebut sebagai bagian kanan dari produksi.
Simbol CFG (Contex Free Grammar)
Dalam Contex Free Grammar perlu diketahui beberapa istilah berikut yang berhubungan dengan grammar untuk bisa membedakan satu symbol dan lainnya:
a. Simbol berikut adalah terminal :
Huruf kecil, awal dari abjad seperti a, b, c Simbol operator seperti – dll.
Angka 0,1. . . .9
b. Simbol beriktu adalah non terminal :
Huruf besar, awal dari abjad seperti A, B, C Huruf S yang ada biasanya sebagai symbol
awal.
d. Huruf kecil akhir dalam abjad, biasanya u, v,…z mempresentasikan sekumpulan terminal.
e. Huruf yunani kecil, seperti α β sebagai contoh, mempresentasikan sekumpulan umum symbol grammar. Pada umunya produksi dapat ditulis menjadi A α, menyatakan bahwa pada produksi itu ada sebuah non terminal a pada sisi bagian kiri dan sebuah string dari symbol grammar α pada sisi bagian kanan.
Contoh
Jika CFG pada polindrom {a,b} dapat di definisikan sebagai contoh sebelumnya, maka CFG untuk bahasa komplemennya (non polindrom) dapat di defenisikan
dengan aturan sebagai berikut :
S à aSa|bSb|D
Dà aAb|bAa
Suatu contex free grammar CFG adalah G = (V,Σ,S,P) dimana :
● V dan Σ adalah himpunan disjoin, V disebut himpunan
nonterminal, Σ disebut himpunan terminal
● P himpunan berhingga aturan produksi berbentuk A à α
dengan A € V dan α €
V dan α € (V- Σ)*
Notasi untuk menyatakan “operasi penurunan” dari satu string menjadi string yang lain menjadi aturan produksi.
Jika satu string α= α1 Aα2 diturunkan menjadi string
β= α1 αα 2 dalam satu langkah yang mengikuti suatu aturan produksi Aà γ dari gambar G maka penurunan itu dinyatakan dengan notasi αà G β
Bentuk umun dari notasi ‘=>G’ di atas adalah ‘=>*G’ yang berarti penurunan dilakukan dalam nol langkah atau lebih.
Jika menurut grammar G terjadi serangkaian penurunan
Α=> α1 =>α2 =>… β
Maka penulisannya dapat disingkat menjadi
Context Free Grammar ( CFG ) menjadi dasar dalam pembentukan suatu parser/proses
analisis sintaksis. Bagian sintaks dalam suatu kompilator kebanyakan di definisikan dalam
tata bahasa bebas konteks. Pohon
penurunan ( derivation tree/parse tree) berguna untuk menggambarkan simbol-simbol variabel menjadi simbol-simbol-simbol-simbol terminal setiap simbol variabel akan di
Contoh, terdapat CFG dengan aturan
produksi sebagai berikut dengan simbol awal S :
S → AB
A → aA | a B → bB | b
Maka jika ingin dicari gambar pohon
Proses penurunan / parsing bisa dilakukan dengan cara sebagai berikut :
Penurunan terkiri (leftmost derivation): simbol variabel terkiri yang di perluas terlebih dahulu.
Misal : Grammar sbb :
S → aAS | a A → SbA | ba
Untuk memperoleh string ‘aabbaa’ dari grammar diatas dilakukan dengan cara :
Penurunan terkiri: S => aAS => aSbAS =>
aabAS => aabbaS => aabbaa
Penurunan terkanan : S => aAS => aAa =>