150 likes | 759 Views
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 → CDeFg D → BcDe
E N D
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 → CDeFg D → BcDe 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 simbol2 variabel mjd simbol2 terminal sampai tdk ada yg belum tergantikan. Misal : Bhs bebas konteks S → AB A → aA | a B → bB | b
Digambar pohon penurunan utk untai : ‘aabbb’ S Simbol awal menjadi root. Setiap kali penurunan dipilih aturan produksi yg menuju ke solusi. A B b a A B a b 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 → aAS | a A → SbA | ba Untuk memperoleh untai :’aabbaa’ • Penurunan terkiri : S → aAS → aSbAS → aabAS → aabbaS → aabbaa • Penurunan terkanan : S → aAS → aAa → aSbAa → aSbbaa → aabbaa S S a A S b A a a b a
LATIHAN : S → aB | bA A → a | aS | bAA B → b | bS | aBB 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 → SbS | ScS | a Utk untai : ‘abaca’ terdapat 2 cara penurunan : S → SbS → abS → abScS → abacS → abaca S → ScS → SbScS → abScS → abacS → abaca S s S b S S c S a S S c S b S a a a a a
LATIHAN : S → aAd | aB A → b | c B → ccd | ddc Utk memperoleh untai : ‘accd’ Buktikan bahwa tata bahasa bebas konteks berikut ambigu : S → aB | bA A → a | aS | bAA B → b | bS | aBB Untuk memperoleh untai : ‘aabbab’