Brute force 2/16/2019 Materi ke 5.

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

BENTUK NORMAL CHOMKY.
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata
11. BENTUK NORMAL CHOMSKY.
Teori Bahasa dan Automata
KONSEP dan NOTASI BAHASA
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Bentuk Normal Greibach
Normal Chomsky Pertemuan 8
Penyederhanaan Bahasa Bebas Context
Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke
PENGHILANGAN REKURSIF KIRI
12. PENGHILANGAN REKURSIF KIRI
Penghilangan Rekursif Kiri
Bentuk Normal Greibach (Greibach Normal Form)
14. PUSH DOWN AUTOMATA.
13. BENTUK NORMAL GREIBACH
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Teori Bahasa dan Otomata 2 sks
POHON PENURUNAN.
Syntax Analyzer (Parser) - Dasar
Pohon penurunan dan Penyederhanaan Tata Bahasa Bebas Konteks
13. BENTUK NORMAL GREIBACH
PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS
10. PENYEDERHANAAN TATA BAHASA
Analisis Leksikal.
Pertemuan 12 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
14. PUSH-DOWN AUTOMATA.
STRUKTUR COMPILLER.
BAB X BENTUK NORMAL CHOMSKY.
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Penghilangan rekursif kiri
12. PENGHILANGAN REKURSIF KIRI Aturan Produksi Rekursif Aturan produksi yang rekursif adalah aturan produksi yang hasil produksinya (ruas kanan)
TEORI BAHASA & AUTOMATA
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata CHAPTER 6
Teori-Bahasa-dan-Otomata
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
Bentuk Normal Chomsky (CNF)
PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Bahasa Type 2 (CONTEXT FREE GRAMMAR)
Bentuk Normal Chomsky, Penghilangan Rekursif kiri dan Normal Greibach
Bentuk Normal Chomsky *YANI*.
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS.
PENGHILANGAN REKURSIF KIRI
Bahasa Context Free.
Penghilangan Bentuk Left Linear Grammer
Teori-Bahasa-dan-Otomata
TATA BAHASA BEBAS KONTEKS
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
ALGORITMA & PEMROGRAMAN 1C
BAB VIII POHON PENURUNAN.
Penyederhanaan Tata Bahasa Bebas Konteks
Istiqomah, S.Kom [Teknik Kompilasi UNIKOM 2013]
MATERI PERKULIAHAN TEKNIK KOMPILASI
Penyederhanaan Tata Bahasa Bebas Konteks
Pertemuan 10 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
TEORI BAHASA & AUTOMATA
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
BENTUK NORMAL GREIBACH
Grammar dan Bahasa Automata
Penghilangan Rekursif Kiri
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Transcript presentasi:

Brute force 2/16/2019 Materi ke 5

Parsing: Brute force Memilih aturan produksi mulai dari kiri Meng-expand simbol non terminal sampai pada simbol terminal Bila terjadi kesalahan (string tidak sesuai) maka dilakukan backtrack Algoritma ini membuat pohon parsing secara top-down, yaitu dengan cara mencoba segala kemungkinan untuk setiap simbol non-terminal Contoh suatu language dengan aturan produksi sebagai berikut S  aAd | aB A  b | c B  ccd | ddc Misal ingin dilakukan parsing untuk string ‘accd’

Parsing: Brute force (i) S (ii) S (iii) S a A d a A d b Terjadi kegagalan (iii), dilakukan back track (iv) S (v) S (vi) S a A d a B a B c c c d Terjadi kegagalan lagi (iv), dilakukan back-track

Parsing: Brute force Kelemahan dari metode-metode brute-force Mencoba untuk semua aturan produksi yang ada sehingga menjadi lambat (waktu eksekusi) Mengalami kesukaran untuk melakukan pembetulan kesalahan Memakan banyak memakan memori, dikarenakan membuat backup lokasi backtrack Grammar yang memiliki Rekursif Kiri tidak bisa diperiksa, sehingga harus diubah dulu sehingga tidak rekursif kiri, Karena rekursif kiri akan mengalami Loop yang terus-menerus 2/16/2019 Materi ke 5

Brute force : Aturan produksi Aturan Produksi yang rekursif memiliki ruas kanan (hasil produksi) yang memuat simbol variabel pada ruas kiri Sebuah produksi dalam bentuk A   A ;merupakan produksi rekursif kanan  = berupa kumpulan simbol variabel dan terminal Contoh aturan produk yang rekursif kanan: S  d S B  ad B bentuk produksi yang rekursif kiri A  A  merupakan produksi rekursif Kiri contoh: S  S d B  B ad 2/16/2019 Materi ke 5

Aturan produksi : Brute force Produksi yang rekursif kanan akan menyebabkan penurunan tumbuh kekanan, Sedangkan produksi yang rekursif kiri akan menyebabkan penurunan tumbuh ke kiri. Contoh: Pohon penurunan sebuah Context free Grammar (CFG) yang rekursif kiri: 2/16/2019 Materi ke 5

Aturan produksi : Brute force Dalam Banyak penerapan tata-bahasa, rekursif kiri tidak diinginkan, Untuk menghindari penurunan kiri yang looping, perlu dihilangkan sifat rekursif, dengan langkah-langkah sebagai berikut: Pisahkan Aturan produksi yang rekursif kiri dan yang tidak; misalnya Aturan produksi yang rekursif kiri A  A 1 | A 2 | ... | A n Aturan produksi yang tidak rekursif kiri ε A  1 | 2 | ... | n 2/16/2019 Materi ke 5

Aturan produksi : Brute force Dari pers diatas dapat ditentukan simbol ruas kiri yang sama yaitu : 1, 2,…, n dan 1, 2,…, n lakukan per-ganti-an aturan produksi yang rekursif kiri, menjadi sebagai berikut: 1. A  1 Z | 2 Z | ... | n Z 2 Z  1 | 2 | ... | n 3 Z  1 Z | 2 Z | ... | n Z 2/16/2019 Materi ke 5

Aturan produksi : Brute force Pergantian di atas dilakukan untuk setiap aturan produksi dengan simbol ruas kiri yang sama, bisa muncul variabel baru Z1, Z2 dst, sesuai dengan variabel yang menghasilkan rekurisif kiri Contoh: Tata Bahasa Context free S  Sab | aSc | dd | ff | Sbd Pisahkan aturan produksi yang rekursif kiri S  Sab | Sbd Ruas Kiri untuk S: 1=ab , 2=bd Aturan Produksi yang tidak rekursif kiri S  aSc | dd | ff dari situ didapat untuk Ruas Kiri untuk S: 1 = aSc, 2 = dd, 3= ff 2/16/2019 Materi ke 5

Aturan produksi : Brute force Langkah berikutnya adalah dilakukan penggantian yang rekursif kiri: Untuk yang memiliki simbol ruas kiri S: S  Sab | Sbd, dapat digantikan dengan 1. S  aScZ1 | ddZ1 | ffZ1 2. Z1  ab | bd Z1  abZ1 | bdZ1 Hasil akhir yang didapat setelah menghilangkan rekursif kiri adalah sebagai Berikut: S  aSc | dd | ff S  aScZ1 | ddZ1 | ffZ1 Z1  ab | bd 2/16/2019 Materi ke 5

Contoh 2. Terdapat tata bahasa bebas konteks : SSab | Sb | cA A Aa | a | bd Langkah penyelesaiaannya: Pertama pemisahan aturan produksi yang rekursif kiri: SSab | Sb A Aa Kedua Tentukan simbol ruas kiri: S: 1=ab , 2=b A: 1=a Aturan produksi yang tidak rekursif kiri: ScA Aa | bd Simbol ruas kiri : S: 1= cA, A:1= a, 2= bd 2/16/2019 Materi ke 5

Lanjutan … Ketiga penggantian aturan produksi rekursif kiri: Untuk yang memiliki simbol ruas kiri S: S  Sab | Sb, digantikan dengan 1. S  cAZ1 2. Z1  ab | b 3. Z1  abZ1 | bZ1 Untuk yang memiliki simbol ruas kiri A: A  Aa, diganti oleh: 1. A  aZ2 | bdZ2 2. Z2  a 3. Z2  aZ2 2/16/2019 Materi ke 5

Lanjutan …. Hasil akhir setelah penghilangan rekursif kiri adalah: ScA Aa | bd ScAZ1 Z1ab | b Z1abZ1 | bZ1 AaZ2 | bdZ2 Z2a Z2aZ2 * Perhatikan bahwa penghilangan rekursif kiri memunculkan simbol variabel baru, dan aturan produksi baru yang rekursif kanan 2/16/2019 Materi ke 5

Latihan dan dikumpulkan! Lakukan penghilangan rekursif kiri pada tata bahasa bebas konteks berikut: 1. SSa | aAc | c | ε AAb | ba 2. A Aa | aBc 3. AAbAB | ε BBAa | A | ε 4. SSBa | Ab ASa | AAb | a BSb | BBa | b 5. SSSC | SSB | abg Babc | BSb | BCd Cab 2/16/2019 Materi ke 5

Selesai 2/16/2019 Materi ke 5