Perbedaan antara Top Down dan Parsing Bottom -Up

Perbedaan antara Top Down dan Parsing Bottom -Up

Itu perbedaan utama Antara penguraian top -down dan bottom -up adalah bahwa Perintahkan ke bawah Parsing melakukan parsing dari simbol yang menatap ke string input sementara parsing bawah melakukan parsing dari string input ke simbol awal. Selain itu, perbedaan penting lainnya antara parsing top -down dan bottom -up adalah bahwa parsing top down menggunakan sebagian besar derivasi dan parsing bawah bawah menggunakan sebagian besar derivasi kanan.

Bahasa tingkat tinggi membantu menulis program komputer. Mereka lebih mudah dipahami oleh programmer tetapi tidak oleh komputer. Oleh karena itu, program tingkat tinggi dikonversi menjadi kode mesin. Tugas kompiler adalah untuk mengonversi kode sumber yang dapat dibaca manusia menjadi kode mesin yang dapat dibaca mesin. Suatu program melewati beberapa langkah untuk dikonversi ke kode mesin. Seluruh proses ini disebut sistem pemrosesan bahasa. Salah satunya adalah kompilasi. Penganalisa sintaks atau parser ada di kompiler, dan melakukan tugas parsing.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu parsing top down
3. Apa yang dibumung parsing
4. Perbandingan Berdampingan - Top Down Vs Bottom UP Parsing Dalam Bentuk Tabel
5. Ringkasan

Apa itu parsing top down?

Setiap bahasa pemrograman memiliki seperangkat aturan untuk mewakili bahasa. Sintaks Analyzer atau Parse mengambil string input dan memeriksa apakah itu sesuai dengan produksi tata bahasa. Dengan kata lain, tata bahasa harus menghasilkan string itu menggunakan pohon parse.

Dalam parsing top down, parsing terjadi dari simbol awal dan akan mencapai string input yang diberikan. Pertimbangkan aturan produksi tata bahasa berikut. String input (w) adalah CAD.

S -> CAD

A -> ab /a

Pohon parse setelah melakukan parsing top down adalah sebagai berikut.

Gambar 01: Parse Tree 1 dengan parsing top down

S menghasilkan c a d dan a menghasilkan b. Stringnya adalah Cabd. Itu bukan string yang diperlukan. Jadi, perlu melakukan backtracking, yaitu menggunakan alternatif lain.

Demikian pula, s menghasilkan c a d.  Menerapkan opsi lain untuk A akan memberikan a. Sekarang memberikan string yang diperlukan. Oleh karena itu, parser menerima string input ini. Pohon parse setelah melakukan parsing top down adalah sebagai berikut.

Gambar 02: Parse Tree 2 dengan Parsing Top Down

Saat string input (w) adalah abbcde

Pertimbangkan aturan produksi tata bahasa berikut.

S -> aabe

A -> ABC/B

B -> D

Di atas parsing top down,

S -> aabe (menggantikan a -> abc)

S -> AABCBE (menggantikan A -> B)

S -> abbcbe (menggantikan b -> d)

S -> abbcde

Substitusi dimulai dengan variabel paling kiri terlebih dahulu dan kemudian ke posisi kanan berikutnya dan seterusnya. Oleh karena itu, ia mengikuti metode derivasi paling kiri. Selain itu, penting untuk memutuskan aturan produksi apa yang harus dipilih ketika ada variabel.

Apa yang dibumung parsing?

Dalam parsing bottom -up terjadi dengan cara lain. Parsing terjadi dari string input ke simbol awal. Pertimbangkan aturan produksi tata bahasa berikut dan biarkan string input menjadi w ɛ cad

S -> CAD

A -> ab /a

Pohon parse setelah melakukan parsing bottom up adalah sebagai berikut.

Gambar 03: Pohon parse dengan parsing bottom up

String yang diberikan adalah CAD. A dihasilkan oleh a. C, A dan D menggabungkan untuk mendapatkan simbol awal.

Saat string input (w) adalah abbcde

Pertimbangkan aturan produksi tata bahasa berikut.

S -> aabe

A -> ABC/B

B -> D

Dalam parsing bottom -up,

S -> aabe (menggantikan b -> d)

S -> AADE (menggantikan A -> ABC)

S -> AABCDE (Mengganti -> B)

S -> abbcde

Substitusi dimulai dengan variabel paling kanan terlebih dahulu dan kemudian bergerak ke posisi kiri berikutnya dan seterusnya. Oleh karena itu, ia mengikuti metode derivasi mot kiri.

Apa perbedaan antara parsing top down dan bottom -up?

Parsing top-down adalah strategi parsing yang pertama-tama melihat tingkat tertinggi dari pohon parse dan bekerja di pohon parse dengan menggunakan aturan tata bahasa formal. Parsing bottom -up adalah strategi parsing yang pertama -tama melihat tingkat terendah dari pohon parse dan mengerjakan pohon parse dengan menggunakan aturan tata bahasa formal. Parsing terjadi dari simbol awal ke string input, di atas down down parsing.  Di sisi lain, parsing terjadi dari string input ke simbol awal, di bagian bawah atas parsing.

Selain itu, keputusan utama dalam parsing top down adalah memilih aturan produksi apa yang akan digunakan untuk membangun string sementara keputusan utama dalam parsing bawah adalah memilih kapan menggunakan aturan produksi untuk mengurangi string untuk mendapatkan simbol awal. Selain itu, parsing top down menggunakan sebagian besar derivasi dan parsing bawah menggunakan sebagian besar derivasi kanan.

Ringkasan -Parsing Top Down Vs Bottom Up

Perbedaan antara parsing top -down dan bottom -up adalah bahwa parsing top down melakukan parsing dari simbol yang menatap ke string input sementara parsing bawah melakukan parsing dari string input ke simbol awal.

Referensi:

1.“Kuliah Desain Kompiler 5 - Pengantar Parsers dan LL (1) Parsing." Kuliah Desain Kompiler 5 - Pengantar Parsers dan LL (1) Parsing, Kuliah Gerbang oleh Ravindrababu Ravula, 22 Mei 2014. Tersedia disini