CFG
/ Bahasa Bebas Konteks adalah suatu metode rekursif yang paling sederhana untuk
menspesifikan aturan-aturan dalam menyusun string dari bahasanya.
CFG dapat pula menspesifikasikan bahasa-bahasa non reguler
tertentu, misalnya aturan tingkat dari bahasa pemerograman serta dari bahasa
formal lainnya
CFG diciptakan untuk mempermudah pada saat compiler Bahasa pemrograman
dan juga untuk menghindari ambiguitas ketika parsing Bahasa.sedangkan Proses parsing
adalah proses pembacaan string dalam bahasa sesuai CFG tertentu, proses ini
harus mematuhi aturan produksi dalam CFG tersebut
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
penurunan dengan string : ‘aabbb’ hasilnya adalah seperti di bawah
:
Ambiguitas terjadi bila
terdapat lebih dari satu pohon penurunan yang berbeda untuk memperoleh suatu
string.
Contoh ambiguitas
Diketahui
grammar G = {S → SOS|A , O → *|+, A → 0|1|2|…|9}
String : 2*3+7 mempunyai dua pohon sintaks berikut :
0 komentar:
Posting Komentar