Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Penguraian Bawah-Atas (Bottom-up Parsing)

Presentasi serupa


Presentasi berjudul: "Penguraian Bawah-Atas (Bottom-up Parsing)"— Transcript presentasi:

1 Penguraian Bawah-Atas (Bottom-up Parsing)
Bentuk umumnya ® penguraian shift-reduksi (shift-reduce parsing). Yang mudah diimplementasikan ® penguraian presedensi operator (operator precedence parsing). Bentuk yang lebih umum ® penguraian LR. Penguraian shift-reduksi bertujuan membentuk suatu pohon urai (parse tree) untuk suatu string input, dimulai dari daun (bawah) lalu ke akarnya (atas). Proses ini dapat dianggap sebagai reduksi string w menjadi simbol awal suatu grammar. Contoh : S ® aABc A ® Abc | b B ® d abbcdc dapat direduksi menjadi S dengan langkah-langkah : abbcdc aAbcdc (pakai A ® b, ganti yang paling kiri) aAdc (pakai A ® Abc, ganti A) aABc (pakai B ® d) S

2 Penguraian Bawah-Atas (Bottom-up Parsing) (2)
Right most derivasinya adalah langkah kebalikan proses tadi : S Þ aABc Þ aAdc Þ aAbcdc Þ abbcdc Pada pereduksian, untuk memilih mana yang harus diganti harus memakai handel. Handel dari suatu bentuk sentensial-kanan g adalah suatu produksi A ® dan suatu posisi dari g dimana string b bisa ditemukan dan diganti oleh A untuk menghasilkan bentuk sentensial-kanan sebelumnya dengan cara derivasi right-most untuk g . Jadi S ® aAw ® aB , maka A ® merupakan handel dari abw. A ® b adalah handel dari abbcdc A ® Abc adalah handel dari aAbcdc Kadang-kadang sisi kanan dari handel tersebut yang lebih sering disebut handel. Reduksi b menjadi A dapat dianggap sebagai “pruning the handle”; menghapus anak dari A dalam proses urai.

3 Penguraian Bawah-Atas (Bottom-up Parsing) (3)
Contoh lagi : (1) E ® E + E (2) E ® E * E (3) E ® ( E ) (4) E ® id Salah satu derivasi right-most untuk id1 + id2 * id3 adalah : E Þ E + E Þ E + E * E Þ E + E * id3 Þ E + id2 * id3 Þ id1 + id2 * id3

4 Penguraian Bawah-Atas (Bottom-up Parsing) (4)
Proses reduksinya : Struktur data/implementasi pengurian shift-reduksi adalah dengan memakai stack untuk menyimpan simbol grammar. Dipakai juga suatu buffer untuk menyimpan string w yang akan diurai. $ sebagai tanda dasar stack dan akhir input. Pada awalnya : stack input $ w$

5 Penguraian Bawah-Atas (Bottom-up Parsing) (5)
Lalu nol atau lebih simbol input dipindahkan (shift) ke stack, sampai suatu handel b berada di puncak stack. Handel lalu direduksi. Proses diulang sampai ditemukan error atau berhasil. stack input $S $ Aksi-aksi dalam pengurian shift-reduksi : Shift, simbol input berikutnya dipindahkan ke puncak stack. Reduksi, parser tahu handel ada di puncak, lalu handel direduksi Accept, proses selesai, tak ada error. Error, error ditemukan. Contoh : id1 + id2 * id3,

6 Penguraian Bawah-Atas (Bottom-up Parsing) (5)


Download ppt "Penguraian Bawah-Atas (Bottom-up Parsing)"

Presentasi serupa


Iklan oleh Google