Perbezaan antara penguraian atas dan bawah

Perbezaan antara penguraian atas dan bawah

The Perbezaan utama antara bahagian atas dan bawah ke bawah adalah bahawa atas ke bawah parsing melakukan parsing dari simbol merenung ke rentetan input manakala parsing bawah bawah melakukan parsing dari rentetan input ke simbol permulaan. Selain itu, satu lagi perbezaan penting antara penguraian atas dan bawah adalah bahawa parsing ke bawah menggunakan penggunaan paling banyak derivasi dan bawah bawah parsing menggunakan kebanyakan derivasi.

Bahasa peringkat tinggi membantu menulis program komputer. Mereka lebih senang difahami oleh pengaturcara tetapi bukan oleh komputer. Oleh itu, program peringkat tinggi menukar ke kod mesin. Tugas pengkompil adalah untuk menukar kod sumber boleh dibaca manusia ke kod mesin boleh dibaca mesin. Program melalui beberapa langkah untuk menukar ke kod mesin. Keseluruhan proses ini dipanggil sistem pemprosesan bahasa. Salah satunya adalah penyusunan. Penganalisis sintaks atau parser berada dalam pengkompil, dan ia melaksanakan tugas parsing.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa yang ada di bawah parsing
3. Apa yang dimaksudkan dengan parsing
4. Perbandingan sampingan - atas ke bawah vs bahagian bawah parsing dalam bentuk jadual
5. Ringkasan

Apa yang ada di bawah parsing?

Setiap bahasa pengaturcaraan mempunyai satu set peraturan untuk mewakili bahasa. Penganalisis sintaks atau parse mengambil rentetan input dan memeriksa sama ada mengikut produksi tatabahasa. Dengan kata lain, tatabahasa harus menghasilkan rentetan itu menggunakan pokok parse.

Di bahagian atas parsing, parsing berlaku dari simbol permulaan dan akan mencapai rentetan input yang diberikan. Pertimbangkan peraturan pengeluaran tatabahasa berikut. Rentetan input (w) adalah CAD.

S -> CAD

A -> ab /a

Pokok parse setelah melakukan penguraian atas adalah seperti berikut.

Rajah 01: Pokok Parse 1 dengan parsing atas

S menghasilkan c a d dan a menghasilkan b. Rentetannya adalah cabd. Ia bukan rentetan yang diperlukan. Oleh itu, perlu melakukan mundur, iaitu menggunakan alternatif lain.

Begitu juga, s menghasilkan c a d.  Memohon pilihan lain untuk A akan memberi. Sekarang ia memberikan rentetan yang diperlukan. Oleh itu, parser menerima rentetan input ini. Pokok parse setelah melakukan penguraian atas adalah seperti berikut.

Rajah 02: Pokok Parse 2 dengan parsing atas

Apabila rentetan input (w) adalah abbcde

Pertimbangkan peraturan pengeluaran tatabahasa berikut.

S -> aabe

A -> ABC/B

B -> D

Di atas penguraian,

S -> aabe (menggantikan -> abc)

S -> aabcbe (menggantikan -> b)

S -> abbcbe (penggantian b -> d)

S -> abbcde

Penggantian bermula dengan yang paling banyak berubah -ubah terlebih dahulu dan kemudian ke kedudukan kanan seterusnya dan sebagainya. Oleh itu, ia mengikuti kaedah paling banyak derivasi kiri. Tambahan pula, penting untuk menentukan peraturan pengeluaran yang harus dipilih apabila terdapat pemboleh ubah.

Apa yang dimaksudkan dengan parsing?

Di bawah penguraian berlaku dengan cara lain. Parsing berlaku dari rentetan input ke simbol permulaan. Pertimbangkan peraturan pengeluaran tatabahasa berikut dan biarkan rentetan input menjadi CAD

S -> CAD

A -> ab /a

Pokok parse setelah melakukan penguraian bawah adalah seperti berikut.

Rajah 03: Pokok parse dengan parsing bawah

Rentetan yang diberikan adalah CAD. A dihasilkan oleh a. C, A dan D menggabungkan untuk mendapatkan simbol permulaan s.

Apabila rentetan input (w) adalah abbcde

Pertimbangkan peraturan pengeluaran tatabahasa berikut.

S -> aabe

A -> ABC/B

B -> D

Di bawah parsing,

S -> aabe (menggantikan b -> d)

S -> aade (menggantikan -> abc)

S -> aabcde (menggantikan -> b)

S -> abbcde

Penggantian bermula dengan yang paling banyak berubah -ubah terlebih dahulu dan kemudian bergerak ke kedudukan kiri seterusnya dan sebagainya. Oleh itu, ia mengikuti kaedah terbitan MOT kiri.

Apakah perbezaan antara penguraian atas dan bawah?

Parsing atas-bawah adalah strategi parsing yang mula-mula melihat tahap tertinggi pokok parse dan bekerja di bawah pokok parse dengan menggunakan peraturan tatabahasa formal. Parsing bawah adalah strategi parsing yang mula -mula melihat tahap terendah pokok parse dan berfungsi dengan pokok parse dengan menggunakan peraturan tatabahasa rasmi. Parsing berlaku dari simbol permulaan ke rentetan input, di atas parsing.  Sebaliknya, parsing berlaku dari rentetan input ke simbol permulaan, di bawah parsing.

Selain itu, keputusan utama di atas parsing adalah untuk memilih peraturan pengeluaran yang digunakan untuk membina rentetan sementara keputusan utama di bawah bawah parsing adalah memilih bila menggunakan peraturan pengeluaran untuk mengurangkan rentetan untuk mendapatkan simbol permulaan. Selain itu, penggunaan parsing atas ke bawah meninggalkan kebanyakan terbitan dan bawah bawah parsing menggunakan betul -betul derivasi.

Ringkasan -atas ke bawah vs bahagian bawah parsing

Perbezaan di antara bahagian atas dan bawah ke bawah adalah bahawa parsing atas ke bawah melakukan parsing dari simbol menatap ke rentetan input sementara parsing bawah melakukan parsing dari rentetan input ke simbol permulaan.

Rujukan:

1."Kuliah Reka Bentuk Penyusun 5 - Pengenalan kepada Parsers dan LL (1) Parsing." Kuliah Reka Bentuk Penyusun 5 - Pengenalan kepada Parsers dan LL (1) Parsing, Ceramah Gate oleh Ravindrababu Ravula, 22 Mei 2014. Terdapat di sini