TEORI BAHASA AUTOMATA Pertemuan 6 CFG Tata Bahasa
TEORI BAHASA & AUTOMATA Pertemuan 6
CFG / Tata Bahasa Bebas Konteks Pada tata bahasa bebas konteks tidak terdapat pembatasan hasil produksinya. Batasan ruas kiri adalah sebuah simbol variabel. Contoh : CFG : B → CDe. Fg D → Bc. De Pd bhs regular, bagian yg belum terturunkan tsb selalu terjadi pd suatu ujung. Pd bhs bebas konteks/CFG bisa terdapat lebih banyak bagian yg belum terturunkan itu, dan bisa terjadi dimana saja. Bhs bebas konteks mjd dasar dlm pembentukan suatu parser / proses analisis sintaksis.
Tree : suatu graph terhubung tidak sirkuler, yg memiliki satu simpul (node) / vertex disebut akar (root) dan situ memiliki lintasan setiap simpul. Ø Pohon penurunan berguna untuk menggambarkan bagaimana memperoleh suatu string (untai) dgn cara menurunkan simbol 2 variabel mjd simbol 2 terminal sampai tdk ada yg belum tergantikan. Misal : Bhs bebas konteks S → AB A → a. A | a B → b. B | b Ø
Digambar pohon penurunan utk untai : ‘aabbb’ S Simbol awal menjadi root. A a B A a b Setiap kali penurunan dipilih aturan produksi yg menuju ke solusi. B b
Proses penurunan / parsing : ¡ Penurunan terkiri / leftmost derivation : simbol variabel paling kiri yg diperluas terlebih dulu. ¡ Penurunan terkanan / rightmost derivation : simbol variabel terkanan yg diperluas dulu.
CONTOH : S → a. AS | a A → Sb. A | ba Untuk memperoleh untai : ’aabbaa’ q Penurunan terkiri : S → a. AS → a. Sb. AS → aabbaa q Penurunan terkanan : S → a. Aa → a. Sbbaa → aabbaa S A S b a A b a a
LATIHAN : S → a. B | b. A A → a | a. S | b. AA B → b | b. S | a. BB Utk untai ‘aaabbabbba’
AMBIGUITAS Terjadi bila terdapat lebih dari 1 pohon penurunan yg berbeda utk memperolah suatu untai. Contoh : S→A|B A→a B→a Utk untai : ‘a’ terdapat 2 cara penurunan : S→A→a S→B→a
S → Sb. S | Sc. S | a Utk untai : ‘abaca’ terdapat 2 cara penurunan : S → Sb. S → ab. Sc. S → abaca S → Sc. S → Sb. Sc. S → abaca S S a b s S S c a S a S c b S a
LATIHAN : S → a. Ad | a. B A→b|c B → ccd | ddc Utk memperoleh untai : ‘accd’ Buktikan bahwa tata bahasa bebas konteks berikut ambigu : S → a. B | b. A A → a | a. S | b. AA B → b | b. S | a. BB Untuk memperoleh untai : ‘aabbab’
- Slides: 10