12. PENGHILANGAN REKURSIF KIRI. 12.1 Aturan Produksi Rekursif Aturan produksi yang rekursif adalah aturan produksi yang hasil produksinya (ruas kanan)

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

Teori Bahasa dan Automata
BENTUK NORMAL CHOMKY.
BENTUK NORMAL CHOMSKY Teori Bahasa dan Otomata
11. BENTUK NORMAL CHOMSKY.
Teori Bahasa dan Automata
KONSEP dan NOTASI BAHASA
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)
Teori Bahasa dan Otomata 2 sks
14. PUSH DOWN AUTOMATA.
13. BENTUK NORMAL GREIBACH
TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)
Teori Bahasa dan Otomata 2 sks
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
7. ATURAN PRODUKSI.
Analisis Leksikal.
Pertemuan 12 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
Teori Bahasa dan Otomata 2 sks
14. PUSH-DOWN AUTOMATA.
STRUKTUR COMPILLER.
Kelompok 2 Rizki Resti Ari ( ) Naviul Hasanah ( )
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
9. POHON PENURUNAN.
Penghilangan rekursif kiri
TEORI BAHASA & AUTOMATA
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
Teori-Bahasa-dan-Otomata
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
BAB XII BENTUK NORMAL GREIBACH
Bentuk Normal Chomsky *YANI*.
Teori-Bahasa-dan-Otomata
GRAMMER ATAU TATA BAHASA
PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS.
PENGHILANGAN REKURSIF KIRI
AP untuk CFG PERTEMUAN KE-12 & 13.
Penghilangan Bentuk Left Linear Grammer
Teori-Bahasa-dan-Otomata
OTOMATA DAN TEORI BAHASA 7
TATA BAHASA BEBAS KONTEKS
BAB VIII POHON PENURUNAN.
Penyederhanaan Tata Bahasa Bebas Konteks
Istiqomah, S.Kom [Teknik Kompilasi UNIKOM 2013]
Penyederhanaan Tata Bahasa Bebas Konteks
TEORI BAHASA & AUTOMATA
Sistem Bilangan Cacah.
Persamaan Linear Satu Variabel
BENTUK NORMAL GREIBACH
Brute force 2/16/2019 Materi ke 5.
Grammar dan Bahasa Automata
Penghilangan Rekursif Kiri
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
Aturan Produksi untuk CFG
Chomsky Normal Form (CNF) / Bentuk Normal Chomsky (BNC)
OTOMATA DAN TEORI BAHASA.
Transcript presentasi:

12. PENGHILANGAN REKURSIF KIRI

12.1 Aturan Produksi Rekursif Aturan produksi yang rekursif adalah aturan produksi yang hasil produksinya (ruas kanan) mengandung variabel yang sama dengan ruas kiri. Aturan produksi berikut adalah aturan produksi yang rekursif, S  dS A  Ab B  adB Perhatikan aturan produksi diatas! Setiap hasil produksi (ruas kanan) mengandung variabel yang sama dengan ruas kiri.

Aturan produksi yang rekursif dibagi menjadi dua, yaitu rekursif kiri dan rekursif kanan. Aturan produksi dikatakan rekursif kiri jika pada awal hasil produksi mengandung variabel yang sama dengan ruas kiri. Bentuk umum aturan produksi rekursif kiri : A  A  ;  = (V ⋃ T)* Sebagai contoh: S  Sa A  Ab B  Bad

Aturan produksi dikatakan rekursif kanan jika pada akhir hasil produksi mengandung variabel yang sama dengan ruas kiri. Bentuk umum aturan produksi rekursif kanan : A   A;  = (V ⋃ T)* Sebagai contoh: S  aS A  bdA B  aB

Produksi yang rekursif kanan menyebabkan pohon penurunan tumbuh ke kanan, sedangkan produksi yang rekursif kiri menyebabkan pohon penurunan tumbuh ke kiri. Sebagai contoh: S  aAc A  Ab a A c A b A b A b Dalam banyak penerapan tata bahasa, rekursif kiri tak diinginkan karena mengakibatkan penurunan yang menghasilkan loop, sehingga kita perlu menghilangkan rekursif kiri dari aturan produksi.

12.2 Tahapan Penghilangan Rekursif Kiri Langkah-langkah penghilangan penghilangan rekursif kiri. i)Pisahkan aturan produksi yang rekursif kiri dengan yang tidak rekursif kiri. Sebagai contoh: Aturan produksi yang rekursif kiri, A  A  1 | A  2 | A  3 | … | A  n Aturan produksi yang bukan rekursif kiri, A   1 |  2 |  3 | … |  m

ii) Tentukan simbol-simbol  1,  2,  3, …,  n dan  1,  2,  3, …,  m dari setiap aturan produksi yang memiliki simbol ruas kiri yang sama. iii) Lakukan penggantian aturan produksi yang rekursif kiri menjadi sebagai berikut: A   1 Z |  2 Z |  3 Z | … |  m Z Z   1 |  2 |  3 | … |  n Z   1 Z |  2 Z |  3 Z | … |  n Z

CFG yang mengandung aturan produksi rekursif kiri Aturan produksi yang rekursif kiri Lakukan penggantian CFG yang bebas dari aturan produksi yang rekursif kiri Aturan produksi yang tidak rekursif kiri

Contoh 12.1 Hilangkan rekursif kiri dari aturan produksi berikut! S  Sab | aSc | dd | ff | Sbd Penyelesaian: Aturan produksi rekursif kiri: S  Sab | Sbd  1 = ab;  2 = bd Aturan produksi tidak rekursif kiri: S  aSc | dd | ff  1 = aSc;  2 = dd;  3 = ff

Aturan produksi rekursif kiri, S  Sab | Sbd digantikan oleh: S  aScZ 1 | dd Z 1 | ff Z 1 Z 1  ab | bd Z 1  abZ 1 | bdZ 1 Hasil akhir setelah penghilangan rekursif kiri adalah: S  aSc | dd | ff S  aScZ 1 | dd Z 1 | ff Z 1 Z 1  ab | bd Z 1  abZ 1 | bdZ 1

Contoh 12.2 Hilangkan rekursif kiri dari aturan produksi berikut! S  Sab | Sb | cA A  Aa | a | bd Penyelesaian: Aturan produksi rekursif kiri, S  Sab | Sb  1 = ab;  2 = b Aturan produksi rekursif kiri, A  Aa  1 = a Aturan produksi tidak rekursif kiri, S  cA  1 = cA Aturan produksi tidak rekursif kiri, A  a | bd  1 = a;  2 = bd

Pergantian aturan produksi rekursif kiri: S  Sab | Sb digantikan oleh: S  caZ 1 Z 1  ab | b Z 1  abZ 1 | bZ 1 Pergantian aturan produksi rekursif kiri: A  Aa digantikan oleh: A  aZ 2 | bdZ 2 Z 2  a Z 2  aZ 2 Hasil akhir setelah penghilangan rekursif kiri adalah: S  cA A  a | bd S  caZ 1 Z 1  ab | b Z 1  abZ 1 | bZ 1 A  aZ 2 | bdZ 2 Z 2  a Z 2  aZ 2

Contoh 12.3 Hilangkan rekursif kiri dari aturan produksi berikut! S  Sa | aAc | c |  A  Ab | ba Penyelesaian: Aturan produksi rekursif kiri, S  Sa  1 = a Aturan produksi rekursif kiri, A  Ab  1 = b Aturan produksi tidak rekursif kiri, S  aAC | c |   1 = aAc ;  2 = c;  3 =  Aturan produksi tidak rekursif kiri, A  ba  1 = ba

Pergantian aturan produksi rekursif kiri: S  Sa digantikan oleh: S  aAcZ 1 | cZ 1 | Z 1 Z 1  a Z 1  aZ 1 Pergantian aturan produksi rekursif kiri: A  Ab digantikan oleh: A  baZ 2 Z 2  b Z 2  bZ 2 Hasil akhir setelah penghilangan rekursif kiri adalah: S  aAC | c |  S  aAcZ 1 | cZ 1 | Z 1 A  ba A  baZ 2 Z 1  a Z 1  aZ 1 Z 2  b Z 2  bZ 2

Contoh 12.4 Hilangkan rekursif kiri dari aturan produksi berikut! S  Sab | aSc | dd | ff | Sbd Penyelesaian: Aturan produksi tidak rekursif kiri: S  aSc | dd | ff Penghilangan rekursif kiri dari aturan produksi: S  Sab | aSc | dd | ff | Sbd Rekursif kiriTidak rekursif kiri S  Sab | SbdS  aSc | dd | ff  1 = ab ;  2 = bd  1 = aSc ;  2 = dd ;  2 = ff S  aScZ 1 | dd Z 1 | ff Z 1 Z 1  ab | bd Z 1  abZ 1 | bdZ 1

Hasil akhir setelah penghilangan rekursif kiri adalah: S  aSc | dd | ff S  aScZ 1 | dd Z 1 | ff Z 1 Z 1  ab | bd Z 1  abZ 1 | bdZ 1

Contoh 12.5 Hilangkan rekursif kiri dari aturan produksi berikut! S  Sab | Sb | cA A  Aa | a | bd Penyelesaian: Aturan produksi tidak rekursif kiri, S  cA A  a | bd

Penghilangan rekursif kiri dari aturan produksi: S  Sab | Sb | cA Rekursif kiriTidak rekursif kiri S  Sab | SbS  cA  1 = ab ;  2 = b  1 = cA S  cAZ 1 Z 1  ab | b Z 1  abZ 1 | bZ 1

Penghilangan rekursif kiri dari aturan produksi: A  Aa | a | bd Rekursif kiriTidak rekursif kiri A  AaS  a | bd  1 = a  1 = a ;  2 = bd S  aZ 2 | bdZ 2 Z 2  a Z 2  aZ 2

Hasil akhir setelah penghilangan rekursif kiri adalah: S  cA A  a | bd S  caZ 1 Z 1  ab | b Z 1  abZ 1 | bZ 1 A  aZ 2 | bdZ 2 Z 2  a Z 2  aZ 2 S  caZ 1 | cA A  aZ 2 | bdZ 2 | a | bd S  caZ 1 Z 1  abZ 1 | bZ 1 | ab | b Z 2  aZ 2 | a

Latihan Lakukan penghilangan rekursif kiri pada tata bahasa bebas konteks berikut! 1.A  Aa | aBc 2. A  Aa | aBc B  BAa | A | 