Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas

Isi kandungan:

Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas

Video: Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas

Video: Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas
Video: EKONOMI TINGKATAN 4 : KEPENTINGAN KEANJALAN HARGA (CUKAI DAN SUBSIDI) 2024, Julai
Anonim

Perbezaan utama antara penghuraian atas ke bawah dan bawah ke atas ialah penghuraian atas ke bawah melaksanakan penghuraian daripada simbol menatap ke rentetan input manakala penghuraian bawah ke bawah melakukan penghuraian daripada rentetan input kepada simbol permulaan. Selain itu, satu lagi perbezaan penting antara penghuraian atas ke bawah dan bawah ke atas ialah penghuraian atas ke bawah menggunakan kebanyakan terbitan kiri dan penghuraian bawah bawah menggunakan kebanyakan terbitan kanan.

Bahasa peringkat tinggi membantu menulis program komputer. Mereka lebih mudah difahami oleh pengaturcara tetapi tidak oleh komputer. Oleh itu, program peringkat tinggi bertukar kepada kod mesin. Tugas pengkompil adalah untuk menukar kod sumber yang boleh dibaca manusia kepada kod mesin yang boleh dibaca oleh mesin. Satu program melalui beberapa langkah untuk menukar kepada kod mesin. Keseluruhan proses ini dipanggil Sistem pemprosesan bahasa. Salah satunya ialah kompilasi. Penganalisis sintaks atau penghurai berada dalam pengkompil dan ia melaksanakan tugas penghuraian.

Apakah itu Penghuraian Atas Bawah?

Setiap bahasa pengaturcaraan mempunyai satu set peraturan untuk mewakili bahasa tersebut. Penganalisis sintaks atau parse mengambil rentetan input dan menyemak sama ada ia mengikut pengeluaran tatabahasa. Dalam erti kata lain, tatabahasa harus menghasilkan rentetan itu menggunakan pokok parse.

Dalam penghuraian atas ke bawah, penghuraian berlaku daripada simbol permulaan dan akan mencapai rentetan input yang diberikan. Pertimbangkan peraturan penghasilan tatabahasa berikut. Rentetan input (w) ialah cad.

S -> cAd

A -> ab /a

Pokok huraian selepas melakukan penghuraian atas ke bawah adalah seperti berikut.

Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas

Rajah 01: Parse Tree 1 dengan Top Down Parsing

S menghasilkan c A d dan A menghasilkan b. Rentetan adalah cabd. Ia bukan rentetan yang diperlukan. Jadi, perlu melakukan backtracking, iaitu menggunakan alternatif lain.

Begitu juga, S menghasilkan c A d. Menggunakan pilihan lain untuk A akan memberikan a. Kini ia memberikan rentetan yang diperlukan. Oleh itu, penghurai menerima rentetan input ini. Pokok penghuraian selepas melakukan penghuraian atas ke bawah adalah seperti berikut.

Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 2
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 2
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 2
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 2

Rajah 02: Parse Tree 2 dengan Top Down Parsing

Apabila rentetan input (w) disingkat

Pertimbangkan peraturan penghasilan tatabahasa berikut.

S -> aABe

A -> Abc/b

B -> d

Dalam penghuraian atas bawah, S -> aABe (Menggantikan A -> Abc)

S -> aAbcBe (Menggantikan A -> b)

S -> abbcBe (Menggantikan B ->d)

S -> abbcde

Penggantian bermula dengan pembolehubah paling kiri dahulu dan kemudian ke kedudukan kanan seterusnya dan seterusnya. Oleh itu, ia mengikut kaedah terbitan paling kiri. Selain itu, adalah penting untuk menentukan peraturan pengeluaran yang hendak dipilih apabila terdapat pembolehubah.

Apakah Penghuraian Bawah Atas?

In bottom up parsing berlaku dengan cara yang lain. Penghuraian berlaku dari rentetan input kepada simbol permulaan. Pertimbangkan peraturan pengeluaran tatabahasa berikut dan biarkan rentetan input w ɛ cad

S -> cAd

A -> ab /a

Pokok huraian selepas melakukan penghuraian bawah ke atas adalah seperti berikut.

Perbezaan Utama Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 03
Perbezaan Utama Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 03
Perbezaan Utama Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 03
Perbezaan Utama Antara Penghuraian Atas Bawah dan Bawah Atas_Rajah 03

Rajah 03: Parse Tree dengan Bottom Up Parsing

Rentetan yang diberikan ialah cad. A dijana oleh A. C, A dan d bergabung untuk mendapatkan simbol permulaan S.

Apabila rentetan input(w) adalah abbcde

Pertimbangkan peraturan penghasilan tatabahasa berikut.

S -> aABe

A -> Abc/b

B -> d

Dalam penghuraian bawah ke atas, S -> aABe (Menggantikan B ->d)

S -> aAde (Menggantikan A -> Abc)

S -> aAbcde (Menggantikan A -> b)

S -> abbcde

Penggantian bermula dengan pembolehubah paling kanan dahulu dan kemudian bergerak ke kedudukan kiri seterusnya dan seterusnya. Oleh itu, ia mengikut kaedah terbitan mot kiri.

Apakah Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas?

Penghuraian atas ke bawah ialah strategi penghuraian yang mula-mula melihat tahap tertinggi pepohon hurai dan mengurangkan pepohon hurai dengan menggunakan peraturan tatabahasa formal. Penghuraian bawah ke atas ialah strategi penghuraian yang mula-mula melihat pada peringkat terendah pokok penghuraian dan mengusahakan pokok penghuraian dengan menggunakan peraturan tatabahasa formal. Penghuraian berlaku daripada simbol permulaan kepada rentetan input, dalam penghuraian atas ke bawah. Sebaliknya, penghuraian berlaku daripada rentetan input kepada simbol permulaan, dalam penghuraian bawah ke atas.

Selain itu, keputusan utama dalam penghuraian atas ke bawah ialah memilih peraturan pengeluaran yang akan digunakan untuk membina rentetan manakala keputusan utama dalam penghuraian bawah ke bawah ialah memilih masa untuk menggunakan peraturan pengeluaran untuk mengurangkan rentetan kepada dapatkan simbol permulaan. Selain itu, penghuraian atas ke bawah menggunakan kebanyakan terbitan kiri dan penghuraian bawah bawah menggunakan kebanyakan terbitan kanan.

Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas dalam Bentuk Jadual
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas dalam Bentuk Jadual
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas dalam Bentuk Jadual
Perbezaan Antara Penghuraian Atas Bawah dan Bawah Atas dalam Bentuk Jadual

Ringkasan – Penghuraian Atas Bawah vs Bawah Atas

Perbezaan antara penghuraian atas ke bawah dan bawah ke atas ialah penghuraian atas ke bawah melaksanakan penghuraian daripada simbol menatap ke rentetan input manakala penghuraian bawah ke bawah melakukan penghuraian daripada rentetan input kepada simbol permulaan.

Disyorkan: