Chapter 6 Shift dan Reduksi.

Slides:



Advertisements
Presentasi serupa
REKURSIF.
Advertisements

Kasus 1 Buat algoritma untuk menghitung gaji pegawai. Gaji pegawai didapat dari gaji pokok ditambah tunjangan keluarga dan tunjangan jabatan. Tunjangan.
Kuliah 03 – Pengenalan Analisa Sintak
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Penguraian Bawah-Atas (Bottom-up Parsing)
Chapter 7 Penguraian LR.
REKURSIF.
Kuliah11 Evaluasi Definisi Beratribut-S. Evaluasi bottom­up oleh suatu parser pada saat input diurai (proses) Nilai­nilai atribut tersintesa disimpan.
MATERI 9 FUNGSI REKURSIF.
Pengantar Teknik Kompilasi
Pohon Urai (parse) dan Derivasi
Situasi Saat Program Berjalan (Run-time Environment)
Teori Bahasa dan Otomata 2 sks
Notasi Algoritma.
PERTEMUAN KE-5 Kamis, 7 Oktober Pemetaan Trianguler Array ABCDE FGHI JKL MN O A B C D E F G H I J K L M N O T(1,1)  S(1)T(2,1)  S(N+1) T(1,2)
TEORI BAHASA DAN OTOMATA
Syntax Analyzer (Parser) - Dasar
Chapter 6: Operator precedence parsing
Komponen sebuah Kompilator
Kuliah 2 : Analisis Leksikal
Analisis Leksikal.
Chapter 8 Tabel Penguraian LR Kanonik & LALR.
MATERI 6 BENTUK-BENTUK NORMAL DNF/SOP/MINTERM CNF/POS/MAXTERM
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
CONTEXT FREE LANGUAGE Yang akan kita pelajari: Pohon Turunan
Pengurai Prediktif & Bottom Up Parsing (penguraian bawah atas)
Cara Penanganan Kesalahan
Komponen sebuah Kompilator
KONSEP GRAMMAR & HIRARKI CHOMSKY
TOPIK 3 BENTUK-BENTUK NORMAL Ramos Somya, S.Kom., M.Cs.
Stack Stack adalah salah satu bentuk list dimana penghapusan dan pemasukan elemen hanya dapat dilakukan pada satu posisi yaitu di posisi akhir list. Posisi.
Kelompok 6 Turing Machine
Teori-Bahasa-dan-Otomata
KUG1A3 Algoritma& Pemrograman
PERTEMUAN 5 PENYELEKSIAN KONDISI.
SEMANTIKS Pertemuan Ke-3.
ALJABAR BOOLE Aljabar Boole adalah salah satu aljabar yang berkaitan dengan variabel- variabel biner dan operasi-operasi logika. Variabel-variabel dalam.
Pengantar Teknik Kompilasi
Sheila Nurul Huda, S.Kom, M.Cs
Bahasa Context Free.
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
Analisis Sintaks (Parsing)
MATERI PERKULIAHAN TEKNIK KOMPILASI
ANALISIS LEKSIKAL (Scanner)
MATERI PERKULIAHAN TEKNIK KOMPILASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
Seleksi Kondisi merupakan perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Operator yang digunakan.
Pengantar Teknik Kompilasi
Pertemuan 10 CONTEXT FREE GRAMMAR (CFG) Lanjutan..
Pengantar Teknik Kompilasi
Algoritma Rekursif.
TEKNIK KOMPILASI ANALISIS LEKSIKAL
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
MATERI 8 BENTUK-BENTUK NORMAL.
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Fungsi.
Aljabar Boolean Kusnawi, S.Kom Logika Informatika 2008.
Pengantar Teknik Kompilasi
Analisis Sintaksis By: Kustanto, S.T., M.Eng.
Automata Hingga Deterministik (AHD)
Pengantar Teknik Kompilasi
Grammar dan Bahasa Automata
Semantics Analyser by Kustanto
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Pengantar Teknik Kompilasi
CONTEXT-FREE GRAMMAR (CFG) DAN PARSING
Transcript presentasi:

Chapter 6 Shift dan Reduksi

Chapter 6: Shift dan Reduksi Kelebihan pemakaian stack pada penguraian shift-reduksi: HANDEL selalu muncul pada puncak stack, tak pernah di tengah. Mengapa? Perhatikan dua bentuk yang mungkin dari dua langkah derivasi right most:

Chapter 6: Shift dan Reduksi Kasus (1) Misalkan parser berada pada konfigurasi: Status input $αβγ yz$ γ direduksi menjadi B untuk mencapai : $αβB yz$

Chapter 6: Shift dan Reduksi Karena B non terminal paling kanan pada αβΒyz, maka sisi kanan handel dari αβΒyz tidak akan berada di tengah stack. Kemudian y dipindahkan (shift) ke stack : stack input $αβBy z$ dimana βBy adalah handel dan dapat direduksi menjadi A.

Chapter 6: Shift dan Reduksi Kasus 2: Misalkan parser berada dalam konfigurasi : stack input $αγ xyz$ disini γ merupakan handel dan berada di puncak stack. Setelah γ direduksi menjadi B dan xy dipindahkan ke stack: $αBxy z$ disini y berada di puncak stack dan merupakan handel yang akan direduksi menjadi A.

Chapter 6: Shift dan Reduksi Contoh : Konflik dalam penguraian shift reduksi : 1. Konflik shift/reduksi, tidak dapat menentukan apakah harus melakukan shift atau reduksi. 2. Konflik antara reduksi, ada beberapa reduksi, tetapi tidak tahu mana yang harus dipilih.

Chapter 6: Shift dan Reduksi Terjadi pada grammar yang bukan LR(k) (ambiguous LR(k)) Contoh : stmt → IF expr THEN stmt | if expr THEN stmt ELSE stmt other Misalkan parsernya berada pada konfigurasi: stack input IF expr THEN stmt ELSE … $ dalam hal ini tidak diketahui, apakah dilakukan shift atau reduksi.

Chapter 6: Shift dan Reduksi Masalah lain (konflik antara reduksi / produksi mana yang akan dipakai): Contoh: (1) stmt → ID(parameter_list) (2) stmt → expr := expr (3) parameter_list → parameter_list, parameter (4) parameter_list → parameter (5) parameter → ID (6) expr → ID(expr_list) expr → ID (8) expr_list → expr_list, expr (9) expr_list → expr

Chapter 6: Shift dan Reduksi Statement A(i; j) dalam penguraian akan muncul sebagai barisan token id(id; id). Salah satu situasi terjadi setelah 3 token dipindahkan ke stack stack input …id(id ,id)… id berada dipuncak (handel), harus direduksi dengan produksi yang mana? Yang benar adalah pilih (5) jika A suatu prosedur, dan (7) jika A array.

Chapter 6: Shift dan Reduksi Bagaimana caranya? Ubah id pada (1) menjadi procid, dan lihat informasi tambahan pada tabel simbol untuk menentukan apakah suatu id adalah prosedur/array. Dengan cara ini, jika A(i; j) adalah prosedur maka stack input ...procid(id ,id... jika array ... id(id ,id)...