Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehIrham Irwanda Telah diubah "10 tahun yang lalu
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)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.