Perbezaan antara Parsing Atas dan Bawah Sehingga

The perbezaan utama antara bahagian atas dan bawah parsing adalah bahawa atas ke bawah parsing melakukan parsing dari simbol yang menatap ke rentetan input manakala parsing bawah bawah melakukan parsing dari rentetan input ke simbol permulaan. Selain itu, satu lagi perbezaan penting antara parsing bawah ke bawah dan bawah adalah bahawa parsing atas turun menggunakan paling terbitan dan parsing bawah bawah menggunakan paling terbitan hak.

Bahasa peringkat tinggi membantu menulis program komputer. Mereka lebih mudah difahami oleh programmer tetapi bukan oleh komputer. Oleh itu, program peringkat tinggi menukarkan kepada kod mesin. Tugas pengkompil adalah untuk menukar kod sumber manusia yang dapat dibaca kepada kod mesin yang boleh dibaca mesin. Program berjalan melalui beberapa langkah untuk menukar ke kod mesin. Proses keseluruhan ini dipanggil Sistem pemprosesan bahasa. Salah satunya ialah kompilasi. Penganalisis sintaks atau parser berada dalam pengkompil, dan ia melaksanakan tugas parsing.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Top Down Parsing
3. Apa itu Parsing Bawah
4. Side by Side Comparison - Top Down vs Bottom Up Parsing in Tabular Form
5. Ringkasan

Apakah Top Parsing?

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

Dalam parsing bawah, parsing berlaku dari simbol permulaan dan akan mencapai rentetan input yang diberikan. Pertimbangkan kaedah pengeluaran tatabahasa berikut. Rentetan input (w) adalah cad.

S -> cAd

A -> ab / a

Pokok pokok selepas melaksanakan parsing bawah adalah seperti berikut.

Rajah 01: Parse Tree 1 dengan Parsing Atas

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

Begitu juga, S menghasilkan c A d. Memohon pilihan lain untuk A akan memberikan. Kini ia memberikan rentetan yang diperlukan. Oleh itu, parser menerima rentetan input ini. Pokok pokok selepas melaksanakan parsing bawah adalah seperti berikut.

Rajah 02: Parse Tree 2 dengan Parsing Atas

Apabila rentetan input (w) adalah abbcde

Pertimbangkan kaedah pengeluaran tatabahasa berikut.

S -> aABe

A -> Abc / b

B -> d

Dalam parsing atas,

S -> aABe (Substituting A -> Abc)

S -> aAbcBe (Substituting A -> b)

S -> abbcBe (Substituting B -> d)

S -> abbcde

Penggantian bermula dengan pemboleh ubah kiri yang pertama dan seterusnya ke kedudukan kanan seterusnya dan sebagainya. Oleh itu, ia mengikuti kaedah paling banyak dibiarkan kiri. Lebih-lebih lagi, adalah penting untuk memutuskan peraturan produksi apa yang hendak dipilih apabila terdapat pembolehubah.

Apakah Bottom Up Parsing?

Parsing bawah bawah berlaku dengan cara yang lain. Parsing berlaku dari rentetan input ke simbol permulaan. Pertimbangkan peraturan pengeluaran tatabahasa berikut dan biarkan rentetan input menjadi w ɛ cad

S -> cAd

A -> ab / a

Pokok pokok selepas melaksanakan parsing bawah adalah seperti berikut.

Rajah 03: Pokok Parse dengan Parsing Bawah

Rentetan yang diberikan adalah cad. A dihasilkan oleh A. The c, A dan d menggabungkan untuk mendapatkan simbol permulaan S.

Apabila rentetan input (w) adalah abbcde

Pertimbangkan kaedah pengeluaran tatabahasa berikut.

S -> aABe

A -> Abc / b

B -> d

Parsing bawah bawah,

S -> aABe (Substituting B -> d)

S -> aAde (Substituting A -> Abc)

S -> aAbcde (Substuting A -> b)

S -> abbcde

Penggantian bermula dengan pembolehubah yang paling tepat terlebih dahulu dan kemudian bergerak ke kedudukan kiri seterusnya dan sebagainya. Oleh itu, ia mengikuti kaedah derivasi kiri.

Apakah Perbezaan antara Parsing Atas dan Bawah Sehingga?

Parsing atas adalah strategi parsing yang mula-mula meninjau paras tertinggi dari pokok parse dan berfungsi di bawah pokok parsing dengan menggunakan peraturan tatabahasa formal. Parsing bawah adalah strategi parsing yang mula-mula meninjau tahap paling rendah dari pokok parse dan berfungsi menggunakan pokok parsing dengan menggunakan peraturan tatabahasa formal. Parsing berlaku dari simbol permulaan kepada rentetan input, di bawah parsing. Sebaliknya, parsing berlaku dari rentetan input ke simbol permulaan, di bawah parsing.

Tambahan pula, keputusan utama di bawah parsing adalah untuk memilih kaedah pengeluaran apa yang digunakan untuk membina rentetan sementara keputusan utama dalam parsing bawah bawah adalah untuk memilih bila menggunakan peraturan pengeluaran untuk mengurangkan rentetan untuk mendapatkan simbol permulaan. Tambahan pula, penguraian bawah menggunakan kiri paling terbitan dan bawah bawah parsing menggunakan hak paling terbitan.

Ringkasan - Top Down vs Parsing Bawah

Perbezaan di antara parsing bawah dan bawah sehingga parsing atas melakukan parsing dari simbol yang menatap ke rentetan input sementara parsing bawah bawah melakukan parsing dari rentetan input ke simbol permulaan.

Rujukan:

1. "Kuliah Design Compiler 5 - Pengenalan kepada Parser dan LL (1) Parsing." Kuliah Rekaan Kompilator 5 - Pengenalan kepada Parser dan LL (1) Parsing, Kuliah Pintu oleh Ravindrababu Ravula, 22 Mei 2014. Boleh didapati di sini