Bahasa Context Free.

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

Teori Bahasa dan Automata
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata
Teori Bahasa dan Automata
Kuliah 03 – Pengenalan Analisa Sintak
KONSEP dan NOTASI BAHASA
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Normal Chomsky Pertemuan 8
Penyederhanaan Bahasa Bebas Context
Teori Bahasa dan Otomata 2 sks
Teori Bahasa & OTOMATA.
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
TEORI BAHASA DAN OTOMATA
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
Komponen sebuah Kompilator
Analisis Leksikal.
Pertemuan 12 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
STRUKTUR COMPILLER.
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
CONTEXT FREE LANGUAGE Yang akan kita pelajari: Pohon Turunan
9. POHON PENURUNAN.
Pertemuan 9 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
CONTEXT- FREE LANGUAGE Yenni Astuti Version
Teori Bahasa & OTOMATA.
Pertemuan 8 CONTEXT FREE GRAMMAR (CFG)
Komponen sebuah Kompilator
1 Pertemuan 11 CONTEXT FREE GRAMMAR (CFG) Lanjutan.. Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata CHAPTER 6
KONSEP GRAMMAR & HIRARKI CHOMSKY
Teori-Bahasa-dan-Otomata
Teori-Bahasa-dan-Otomata
Bentuk Normal Chomsky (CNF)
TEORI BAHASA DAN OTOMATA
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Bahasa Type 2 (CONTEXT FREE GRAMMAR)
By : Lisda Juliana Pangaribuan
Pengantar Teknik Kompilasi
Bentuk Normal Chomsky *YANI*.
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
Teori-Bahasa-dan-Otomata
Pengantar Teknik Kompilasi
TATA BAHASA BEBAS KONTEKS
Analisis Sintaks (Parsing)
Pengantar Teknik Kompilasi
ALGORITMA & PEMROGRAMAN 1C
BAB VIII POHON PENURUNAN.
Istiqomah, S.Kom [Teknik Kompilasi UNIKOM 2013]
Penyederhanaan Tata Bahasa Bebas Konteks
Pengantar Teknik Kompilasi
Pertemuan 10 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
Pengantar Teknik Kompilasi
TEORI BAHASA & AUTOMATA
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pengantar Teknik Kompilasi
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
KONSEP dan NOTASI BAHASA
Automata Hingga Deterministik (AHD)
Pengantar Teknik Kompilasi
Brute force 2/16/2019 Materi ke 5.
Grammar dan Bahasa Automata
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengantar Teknik Kompilasi
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Transcript presentasi:

Bahasa Context Free

OBJECTIVE Memahami Context Free Grammar Memahami Derivasi Memahami Pohon Sintaks

CFG Secara formal, CFG didefinisikan : CFG G = (V,T,P,S) dimana : V adalah daftar variabel produksi T adalah daftar simbol atau terminal yang dipakai dalam CFG P adalah aturan produksi CFG S adalah variabel start Bentuk umum produksi CFG adalah :   ,   VN,   (VNVT)*

CFG Context Free Grammar (CFG)/ Bahasa Bebas Konteks adalah sebuah tata bahasa dimana tidak terdapat pembatasan pada hasil produksinya, Contoh Pada aturan produksi : α → β batasannya hanyalah ruas kiri (α) adalah sebuah simbol variabel. Sedangkan contoh aturan produksi yang termasuk CFG adalah seperti di bawah : B → CDeFg D → BcDe

ANALISIS SINTAKS Penelusuran sebuah kalimat (sentensial) sampai pada simbol awal grammar. Analisis sintaks dapat dilakukan melalui derivasi atau parsing. Penelusuran melalui parsing menghasilkan pohon sintaks.

DERIVASI/PARSING Parsing dari sebuah kalimat adalah konstruksi atau pembentukan pohon sintaks untuk kalimat tersebut. Parsing dapat dilakukan dengan cara : Penurunan terkiri (Leftmost derivation) : symbol variabel yang paling kiri diturunkan (tuntas) dahulu Penurunan terkanan (Rightmost derivation) : symbol yang paling kanan diturunkan (tuntas) dahulu

DERIVASI/PARSING Contoh : ingin dihasilkan string aabbaa dari Context free language : S → aAS │ a A → SbA │ ba Penurunan kiri Penurunan kanan S → aAS S → aAS → aSbAS → aAa → aabAS → aSbAa → aabbaS → aSbbaa → aabbaa → aabbaa

DERIVASI/PARSING Contoh : Diketahui grammar G = {I  HI HIA, H  abc...z, A  012...9} dengan I adalah simbol awal. Berikut ini kedua cara analisa sintaks untuk kalimat x23b.

DERIVASI/PARSING Contoh : Diketahui grammar G = {S  SOSA , O  *+, A  012...9} Kalimat : 2*3+7 mempunyai dua pohon sintaks berikut : Sebuah kalimat yang mempunyai lebih dari satu pohon sintaks disebut kalimat ambigu (ambiguous). Grammar yang menghasilkan paling sedikit sebuah kalimat ambigu disebut grammar ambigu.

CNF (Chomsky Normal Form) Aturan produksi CFG dapat ‘dinormalkan’ dengan pola tersendiri supaya tidak ambigu dan lebih sederhana, meskipun normalisasi CFG kadang membuat aturan produksi menjadi lebih banyak dari sebelumnya. Teknik normalisasi yang digunakan dalam hal ini adalah CNF (Chomsky Normal Form).

CNF (Chomsky Normal Form) Contoh desain CNF dari bahasa CFG, semisal CFGberikut: S -> aA | bB (1) A-> Baa|ba B -> bAA|ab CFG (1) tersebut ekivalen dengan CFG dibawah ini,dimana symbol terminal memiliki variabel produksi tersendiri: S -> DA | EB (2) A -> BDD | ED B -> EAA | DE D -> a E -> b CNF yang dihasilkan dari CFG (2) diatas ialah: S -> DA | EB (3) A -> BF | ED B -> EH | DE F -> DD H -> AA D -> a E -> b

METODE PARSING Ada 2 metoda parsing : top-down dan bottom-up. Parsing top-down : Parsing dimulai dari simbol awal S sampai kalimat x Parsing bottom-up : Parsing dimulai dari kalimat x sampai simbol awal S

METODE PARSING Ada 2 kelas metoda parsing top-down : kelas metoda dengan backup Contoh: metoda Brute-Force kelas metoda tanpa backup Contoh: metoda recursive descent.

METODE PARSING METODE BRUTE FORCE metoda Brute-Force, adalah kelas metoda parsing yang menggunakan produksi alternatif, jika ada, ketika hasil penggunaan sebuah produksi tidak sesuai dengan simbol input. Penggunaan produksi sesuai dengan nomor urut produksi.

METODE PARSING

<OPERAND>  <ID> <INTEGER> LATIHAN PERHATIKAN GRAMMAR BERIKUT <OPERAND>  <ID> <INTEGER> <ID>  <LETTER><LIST> <LETTER>  xyz <LIST> <LETTER><LIST><DIGIT><LIST> <DIGIT>  0123456789 <INTEGER>  <SIGN><DIGIT><DIT> <SIGN>  +- <DIT>  <DIGIT><DIT>   Simbol Start : <OPERAND> Lakukan Derivasi/Parsing untuk memperoleh string y7, -294, 4xy2, x2y, -21x, xxb, +1230, x123, x-y+2, x1x2x3x, xxxyyy

<OPERAND>  <ID> <INTEGER> LATIHAN PERHATIKAN GRAMMAR BERIKUT <OPERAND>  <ID> <INTEGER> <ID>  <LETTER><LIST> <LETTER>  xyz <LIST> <LETTER><LIST><DIGIT><LIST> <DIGIT>  0123456789 <INTEGER>  <SIGN><DIGIT><DIT> <SIGN>  +- <DIT>  <DIGIT><DIT>   Simbol Start : <OPERAND> Lakukan Derivasi/Parsing untuk memperoleh string y7, -294, 4xy2, x2y, -21x, xxb, +1230, x123, x-y+2, x1x2x3x, xxxyyy

LATIHAN PERHATIKAN GRAMMAR BERIKUT <EKSPRESI>  <EKSPRESI><ASOP><SUKU><SUKU> <SUKU>  <SUKU><MDOP><FAKTOR><FAKTOR> <FAKTOR>(<EKSPRESI>)operand (a-z) <ASOP>  +- <MDOP>    / Simbol start : <EKSPRESI> buatlah pohon sintaks dari string: ( ( x – 25 ) / y ) + 3 * z (a-b) / ((c+d)*e)